vercel-cli 48.1.0__tar.gz → 48.1.1__tar.gz

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.

Potentially problematic release.


This version of vercel-cli might be problematic. Click here for more details.

Files changed (107) hide show
  1. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/PKG-INFO +1 -1
  2. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/dist/index.js +86 -30
  3. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/.package-lock.json +7 -4
  4. vercel_cli-48.1.1/vercel_cli/vendor/node_modules/@vercel/detect-agent/CHANGELOG.md +19 -0
  5. vercel_cli-48.1.1/vercel_cli/vendor/node_modules/@vercel/detect-agent/README.md +123 -0
  6. vercel_cli-48.1.1/vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.d.ts +29 -0
  7. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.js +28 -11
  8. vercel_cli-48.1.1/vercel_cli/vendor/node_modules/@vercel/detect-agent/package.json +59 -0
  9. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/package.json +2 -2
  10. vercel_cli-48.1.0/vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.d.ts +0 -1
  11. vercel_cli-48.1.0/vercel_cli/vendor/node_modules/@vercel/detect-agent/package.json +0 -31
  12. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/.gitignore +0 -0
  13. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/README.md +0 -0
  14. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/pyproject.toml +0 -0
  15. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/LICENSE +0 -0
  16. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/README.md +0 -0
  17. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/dist/VERCEL_DIR_README.txt +0 -0
  18. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/dist/builder-worker.js +0 -0
  19. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/dist/get-latest-worker.js +0 -0
  20. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/dist/vc.js +0 -0
  21. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/CHANGELOG.md +0 -0
  22. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/LICENSE +0 -0
  23. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/build.mjs +0 -0
  24. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/clone-env.d.ts +0 -0
  25. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/clone-env.js +0 -0
  26. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/debug.d.ts +0 -0
  27. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/debug.js +0 -0
  28. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/default-cache-path-glob.d.ts +0 -0
  29. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/default-cache-path-glob.js +0 -0
  30. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/edge-function.d.ts +0 -0
  31. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/edge-function.js +0 -0
  32. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/errors.d.ts +0 -0
  33. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/errors.js +0 -0
  34. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-blob.d.ts +0 -0
  35. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-blob.js +0 -0
  36. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-fs-ref.d.ts +0 -0
  37. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-fs-ref.js +0 -0
  38. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-ref.d.ts +0 -0
  39. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/file-ref.js +0 -0
  40. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/download.d.ts +0 -0
  41. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/download.js +0 -0
  42. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/get-writable-directory.d.ts +0 -0
  43. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/get-writable-directory.js +0 -0
  44. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/glob.d.ts +0 -0
  45. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/glob.js +0 -0
  46. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/node-version.d.ts +0 -0
  47. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/node-version.js +0 -0
  48. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/normalize-path.d.ts +0 -0
  49. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/normalize-path.js +0 -0
  50. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/read-config-file.d.ts +0 -0
  51. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/read-config-file.js +0 -0
  52. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/rename.d.ts +0 -0
  53. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/rename.js +0 -0
  54. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/run-user-scripts.d.ts +0 -0
  55. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/run-user-scripts.js +0 -0
  56. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/stream-to-buffer.d.ts +0 -0
  57. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/fs/stream-to-buffer.js +0 -0
  58. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-ignore-filter.d.ts +0 -0
  59. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-ignore-filter.js +0 -0
  60. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-installed-package-version.d.ts +0 -0
  61. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-installed-package-version.js +0 -0
  62. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-platform-env.d.ts +0 -0
  63. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-platform-env.js +0 -0
  64. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-prefixed-env-vars.d.ts +0 -0
  65. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/get-prefixed-env-vars.js +0 -0
  66. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/hard-link-dir.d.ts +0 -0
  67. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/hard-link-dir.js +0 -0
  68. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/index.d.ts +0 -0
  69. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/index.js +0 -0
  70. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/lambda.d.ts +0 -0
  71. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/lambda.js +0 -0
  72. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/nodejs-lambda.d.ts +0 -0
  73. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/nodejs-lambda.js +0 -0
  74. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/os.d.ts +0 -0
  75. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/os.js +0 -0
  76. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/prerender.d.ts +0 -0
  77. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/prerender.js +0 -0
  78. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/schemas.d.ts +0 -0
  79. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/schemas.js +0 -0
  80. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/should-serve.d.ts +0 -0
  81. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/should-serve.js +0 -0
  82. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/constants.d.ts +0 -0
  83. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/constants.js +0 -0
  84. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/index.d.ts +0 -0
  85. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/index.js +0 -0
  86. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/trace.d.ts +0 -0
  87. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/trace/trace.js +0 -0
  88. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/types.d.ts +0 -0
  89. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/types.js +0 -0
  90. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/validate-npmrc.d.ts +0 -0
  91. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/dist/validate-npmrc.js +0 -0
  92. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/file-blob.js +0 -0
  93. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/file-fs-ref.js +0 -0
  94. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/file-ref.js +0 -0
  95. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/download.js +0 -0
  96. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/get-writable-directory.js +0 -0
  97. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/glob.js +0 -0
  98. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/rename.js +0 -0
  99. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/run-user-scripts.js +0 -0
  100. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/fs/stream-to-buffer.js +0 -0
  101. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/lambda.js +0 -0
  102. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/build-utils/package.json +0 -0
  103. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/detect-agent/LICENSE +0 -0
  104. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/python/LICENSE +0 -0
  105. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/python/dist/index.js +0 -0
  106. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/python/package.json +0 -0
  107. {vercel_cli-48.1.0 → vercel_cli-48.1.1}/vercel_cli/vendor/node_modules/@vercel/python/vc_init.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vercel-cli
3
- Version: 48.1.0
3
+ Version: 48.1.1
4
4
  Summary: Vercel CLI packaged for Python (bundled Node.js, vendored npm)
5
5
  Project-URL: Homepage, https://github.com/nuage-studio/vercel-cli-python
6
6
  Project-URL: Repository, https://github.com/nuage-studio/vercel-cli-python
@@ -31624,6 +31624,15 @@ var init_command3 = __esm({
31624
31624
  ...yesOption,
31625
31625
  description: "Skip the confirmation prompt about pulling environment variables and project settings when not found locally"
31626
31626
  }
31627
+ // FIXME: standalone:replace env var with flag
31628
+ // {
31629
+ // name: 'experimentalStandalone',
31630
+ // description:
31631
+ // 'Create a standalone build with all dependencies inlined into function output folders',
31632
+ // shorthand: null,
31633
+ // type: Boolean,
31634
+ // deprecated: false,
31635
+ // },
31627
31636
  ],
31628
31637
  examples: [
31629
31638
  {
@@ -116930,7 +116939,7 @@ var require_frameworks = __commonJS2({
116930
116939
  getOutputDirName: async () => "public"
116931
116940
  },
116932
116941
  {
116933
- name: "h3",
116942
+ name: "H3",
116934
116943
  slug: "h3",
116935
116944
  logo: "https://api-frameworks.vercel.sh/framework-logos/h3.svg",
116936
116945
  tagline: "Universal, Tiny, and Fast Servers",
@@ -119368,7 +119377,7 @@ var require_detect_builders = __commonJS2({
119368
119377
  builders.push(...apiBuilders);
119369
119378
  }
119370
119379
  if (frontendBuilder) {
119371
- if (frontendBuilder?.use === "@vercel/express") {
119380
+ if (frontendBuilder?.use === "@vercel/express" || frontendBuilder?.use === "@vercel/hono") {
119372
119381
  builders.push({
119373
119382
  src: "public/**/*",
119374
119383
  use: "@vercel/static",
@@ -144699,7 +144708,7 @@ var init_unzip = __esm({
144699
144708
  });
144700
144709
 
144701
144710
  // src/util/build/write-build-result.ts
144702
- async function writeBuildResult(repoRootPath, outputDir, buildResult, build2, builder, builderPkg, vercelConfig) {
144711
+ async function writeBuildResult(repoRootPath, outputDir, buildResult, build2, builder, builderPkg, vercelConfig, standalone = false) {
144703
144712
  const { version: version2 } = builder;
144704
144713
  if (typeof version2 !== "number" || version2 === 2) {
144705
144714
  return writeBuildResultV2(
@@ -144707,7 +144716,8 @@ async function writeBuildResult(repoRootPath, outputDir, buildResult, build2, bu
144707
144716
  outputDir,
144708
144717
  buildResult,
144709
144718
  build2,
144710
- vercelConfig
144719
+ vercelConfig,
144720
+ standalone
144711
144721
  );
144712
144722
  } else if (version2 === 3) {
144713
144723
  return writeBuildResultV3(
@@ -144715,7 +144725,8 @@ async function writeBuildResult(repoRootPath, outputDir, buildResult, build2, bu
144715
144725
  outputDir,
144716
144726
  buildResult,
144717
144727
  build2,
144718
- vercelConfig
144728
+ vercelConfig,
144729
+ standalone
144719
144730
  );
144720
144731
  }
144721
144732
  throw new Error(
@@ -144738,7 +144749,7 @@ function isFile(v) {
144738
144749
  function stripDuplicateSlashes(path11) {
144739
144750
  return normalize2(path11).replace(/(^\/|\/$)/g, "");
144740
144751
  }
144741
- async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2, vercelConfig) {
144752
+ async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2, vercelConfig, standalone = false) {
144742
144753
  if ("buildOutputPath" in buildResult) {
144743
144754
  await mergeBuilderOutput(outputDir, buildResult);
144744
144755
  return;
@@ -144761,7 +144772,8 @@ async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2,
144761
144772
  output2,
144762
144773
  normalizedPath,
144763
144774
  void 0,
144764
- existingFunctions
144775
+ existingFunctions,
144776
+ standalone
144765
144777
  );
144766
144778
  } else if (isPrerender(output2)) {
144767
144779
  if (!output2.lambda) {
@@ -144775,7 +144787,8 @@ async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2,
144775
144787
  output2.lambda,
144776
144788
  normalizedPath,
144777
144789
  void 0,
144778
- existingFunctions
144790
+ existingFunctions,
144791
+ standalone
144779
144792
  );
144780
144793
  let fallback = output2.fallback;
144781
144794
  if (fallback) {
@@ -144827,7 +144840,8 @@ async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2,
144827
144840
  outputDir,
144828
144841
  output2,
144829
144842
  normalizedPath,
144830
- existingFunctions
144843
+ existingFunctions,
144844
+ standalone
144831
144845
  );
144832
144846
  } else {
144833
144847
  throw new Error(
@@ -144837,7 +144851,7 @@ async function writeBuildResultV2(repoRootPath, outputDir, buildResult, build2,
144837
144851
  }
144838
144852
  return Object.keys(overrides).length > 0 ? overrides : void 0;
144839
144853
  }
144840
- async function writeBuildResultV3(repoRootPath, outputDir, buildResult, build2, vercelConfig) {
144854
+ async function writeBuildResultV3(repoRootPath, outputDir, buildResult, build2, vercelConfig, standalone = false) {
144841
144855
  const { output: output2 } = buildResult;
144842
144856
  const src = build2.src;
144843
144857
  if (typeof src !== "string") {
@@ -144857,10 +144871,19 @@ async function writeBuildResultV3(repoRootPath, outputDir, buildResult, build2,
144857
144871
  outputDir,
144858
144872
  output2,
144859
144873
  path11,
144860
- functionConfiguration
144874
+ functionConfiguration,
144875
+ void 0,
144876
+ standalone
144861
144877
  );
144862
144878
  } else if (isEdgeFunction(output2)) {
144863
- await writeEdgeFunction(repoRootPath, outputDir, output2, path11);
144879
+ await writeEdgeFunction(
144880
+ repoRootPath,
144881
+ outputDir,
144882
+ output2,
144883
+ path11,
144884
+ void 0,
144885
+ standalone
144886
+ );
144864
144887
  } else {
144865
144888
  throw new Error(
144866
144889
  `Unsupported output type: "${output2.type}" for ${build2.src}`
@@ -144911,7 +144934,7 @@ async function writeFunctionSymlink(outputDir, dest, fn2, existingFunctions) {
144911
144934
  await import_fs_extra12.default.symlink(target, dest);
144912
144935
  return true;
144913
144936
  }
144914
- async function writeEdgeFunction(repoRootPath, outputDir, edgeFunction, path11, existingFunctions) {
144937
+ async function writeEdgeFunction(repoRootPath, outputDir, edgeFunction, path11, existingFunctions, standalone = false) {
144915
144938
  const dest = (0, import_path21.join)(outputDir, "functions", `${path11}.func`);
144916
144939
  if (existingFunctions) {
144917
144940
  if (await writeFunctionSymlink(
@@ -144926,11 +144949,17 @@ async function writeEdgeFunction(repoRootPath, outputDir, edgeFunction, path11,
144926
144949
  }
144927
144950
  await import_fs_extra12.default.mkdirp(dest);
144928
144951
  const ops = [];
144929
- const { files, filePathMap } = filesWithoutFsRefs(
144952
+ const sharedDest = (0, import_path21.join)(outputDir, "shared");
144953
+ const { files, filePathMap, shared } = filesWithoutFsRefs(
144930
144954
  edgeFunction.files,
144931
- repoRootPath
144955
+ repoRootPath,
144956
+ sharedDest,
144957
+ standalone
144932
144958
  );
144933
144959
  ops.push((0, import_build_utils11.download)(files, dest));
144960
+ if (shared) {
144961
+ ops.push((0, import_build_utils11.download)(shared, sharedDest));
144962
+ }
144934
144963
  const config2 = {
144935
144964
  runtime: "edge",
144936
144965
  ...edgeFunction,
@@ -144947,7 +144976,7 @@ async function writeEdgeFunction(repoRootPath, outputDir, edgeFunction, path11,
144947
144976
  );
144948
144977
  await Promise.all(ops);
144949
144978
  }
144950
- async function writeLambda(repoRootPath, outputDir, lambda, path11, functionConfiguration, existingFunctions) {
144979
+ async function writeLambda(repoRootPath, outputDir, lambda, path11, functionConfiguration, existingFunctions, standalone = false) {
144951
144980
  const dest = (0, import_path21.join)(outputDir, "functions", `${path11}.func`);
144952
144981
  if (existingFunctions) {
144953
144982
  if (await writeFunctionSymlink(outputDir, dest, lambda, existingFunctions)) {
@@ -144959,9 +144988,18 @@ async function writeLambda(repoRootPath, outputDir, lambda, path11, functionConf
144959
144988
  const ops = [];
144960
144989
  let filePathMap;
144961
144990
  if (lambda.files) {
144962
- const f = filesWithoutFsRefs(lambda.files, repoRootPath);
144991
+ const sharedDest = (0, import_path21.join)(outputDir, "shared");
144992
+ const f = filesWithoutFsRefs(
144993
+ lambda.files,
144994
+ repoRootPath,
144995
+ sharedDest,
144996
+ standalone
144997
+ );
144963
144998
  filePathMap = f.filePathMap;
144964
144999
  ops.push((0, import_build_utils11.download)(f.files, dest));
145000
+ if (f.shared) {
145001
+ ops.push((0, import_build_utils11.download)(f.shared, sharedDest));
145002
+ }
144965
145003
  } else if (lambda.zipBuffer) {
144966
145004
  ops.push(unzip(lambda.zipBuffer, dest));
144967
145005
  } else {
@@ -145053,21 +145091,29 @@ async function* findDirs(name, dir, root = dir) {
145053
145091
  }
145054
145092
  }
145055
145093
  }
145056
- function filesWithoutFsRefs(files, repoRootPath) {
145094
+ function filesWithoutFsRefs(files, repoRootPath, sharedDest, standalone) {
145057
145095
  let filePathMap;
145058
145096
  const out = {};
145097
+ const shared = {};
145059
145098
  for (const [path11, file] of Object.entries(files)) {
145060
145099
  if (file.type === "FileFsRef") {
145061
145100
  if (!filePathMap)
145062
145101
  filePathMap = {};
145063
- filePathMap[(0, import_build_utils11.normalizePath)(path11)] = (0, import_build_utils11.normalizePath)(
145064
- (0, import_path21.relative)(repoRootPath, file.fsPath)
145065
- );
145102
+ if (standalone && sharedDest) {
145103
+ shared[path11] = file;
145104
+ filePathMap[(0, import_build_utils11.normalizePath)((0, import_path21.join)(sharedDest, path11))] = (0, import_build_utils11.normalizePath)(
145105
+ (0, import_path21.relative)(repoRootPath, (0, import_path21.join)(sharedDest, file.fsPath))
145106
+ );
145107
+ } else {
145108
+ filePathMap[(0, import_build_utils11.normalizePath)(path11)] = (0, import_build_utils11.normalizePath)(
145109
+ (0, import_path21.relative)(repoRootPath, file.fsPath)
145110
+ );
145111
+ }
145066
145112
  } else {
145067
145113
  out[path11] = file;
145068
145114
  }
145069
145115
  }
145070
- return { files: out, filePathMap };
145116
+ return { files: out, filePathMap, shared };
145071
145117
  }
145072
145118
  var import_fs_extra12, import_mime_types, import_path21, import_build_utils11, import_promisepipe2, import_client3, normalize2, OUTPUT_DIR;
145073
145119
  var init_write_build_result = __esm({
@@ -145335,6 +145381,11 @@ var init_build = __esm({
145335
145381
  this.trackCliFlag("yes");
145336
145382
  }
145337
145383
  }
145384
+ trackCliFlagStandalone(flag) {
145385
+ if (flag) {
145386
+ this.trackCliFlag("standalone");
145387
+ }
145388
+ }
145338
145389
  };
145339
145390
  }
145340
145391
  });
@@ -146710,6 +146761,7 @@ async function main3(client2) {
146710
146761
  flags: parsedArgs.flags
146711
146762
  }) || "preview";
146712
146763
  const yes = Boolean(parsedArgs.flags["--yes"]);
146764
+ const standalone = process.env.VERCEL_EXPERIMENTAL_STANDALONE_BUILD === "1";
146713
146765
  try {
146714
146766
  await (0, import_build_utils13.validateNpmrc)(cwd);
146715
146767
  } catch (err) {
@@ -146816,7 +146868,7 @@ async function main3(client2) {
146816
146868
  process.env.NOW_BUILDER = "1";
146817
146869
  try {
146818
146870
  await rootSpan.child("vc.doBuild").trace(
146819
- (span) => doBuild(client2, project, buildsJson, cwd, outputDir, span)
146871
+ (span) => doBuild(client2, project, buildsJson, cwd, outputDir, span, standalone)
146820
146872
  );
146821
146873
  } finally {
146822
146874
  await rootSpan.stop();
@@ -146849,7 +146901,7 @@ async function main3(client2) {
146849
146901
  }
146850
146902
  }
146851
146903
  }
146852
- async function doBuild(client2, project, buildsJson, cwd, outputDir, span) {
146904
+ async function doBuild(client2, project, buildsJson, cwd, outputDir, span, standalone = false) {
146853
146905
  const { localConfigPath } = client2;
146854
146906
  const workPath = (0, import_path27.join)(cwd, project.settings.rootDirectory || ".");
146855
146907
  const [pkg, vercelConfig, nowConfig, hasInstrumentation] = await Promise.all([
@@ -147085,7 +147137,8 @@ async function doBuild(client2, project, buildsJson, cwd, outputDir, span) {
147085
147137
  build2,
147086
147138
  builder,
147087
147139
  builderPkg,
147088
- localConfig
147140
+ localConfig,
147141
+ standalone
147089
147142
  )
147090
147143
  ).then(
147091
147144
  (override) => {
@@ -151041,7 +151094,8 @@ ${err.stack}`);
151041
151094
  printError(err);
151042
151095
  return 1;
151043
151096
  }
151044
- const guidanceMode = parsedArguments.flags["--guidance"] ?? await (0, import_detect_agent.determineAgent)() !== false;
151097
+ const { isAgent } = await (0, import_detect_agent.determineAgent)();
151098
+ const guidanceMode = parsedArguments.flags["--guidance"] ?? isAgent;
151045
151099
  return printDeploymentStatus(deployment, deployStamp, noWait, guidanceMode);
151046
151100
  };
151047
151101
  addProcessEnv = async (log2, env) => {
@@ -174373,7 +174427,8 @@ async function add4(client2, argv) {
174373
174427
  )}
174374
174428
  `
174375
174429
  );
174376
- const guidanceMode = parsedArgs.flags["--guidance"] ?? await (0, import_detect_agent2.determineAgent)() !== false;
174430
+ const { isAgent } = await (0, import_detect_agent2.determineAgent)();
174431
+ const guidanceMode = parsedArgs.flags["--guidance"] ?? isAgent;
174377
174432
  if (guidanceMode) {
174378
174433
  suggestNextCommands([getCommandName(`env ls`), getCommandName(`env pull`)]);
174379
174434
  }
@@ -174558,7 +174613,8 @@ async function ls5(client2, argv) {
174558
174613
  client2.stdout.write(`${getTable(link4, envs, customEnvs)}
174559
174614
  `);
174560
174615
  }
174561
- const guidanceMode = parsedArgs.flags["--guidance"] ?? await (0, import_detect_agent3.determineAgent)() !== false;
174616
+ const { isAgent } = await (0, import_detect_agent3.determineAgent)();
174617
+ const guidanceMode = parsedArgs.flags["--guidance"] ?? isAgent;
174562
174618
  if (guidanceMode) {
174563
174619
  suggestNextCommands([
174564
174620
  getCommandName(`env add`),
@@ -186027,8 +186083,8 @@ var main17 = async () => {
186027
186083
  store: telemetryEventStore
186028
186084
  }
186029
186085
  });
186030
- const agent = await (0, import_detect_agent4.determineAgent)();
186031
- telemetry2.trackAgenticUse(agent);
186086
+ const { agent } = await (0, import_detect_agent4.determineAgent)();
186087
+ telemetry2.trackAgenticUse(agent?.name);
186032
186088
  telemetry2.trackCPUs();
186033
186089
  telemetry2.trackPlatform();
186034
186090
  telemetry2.trackArch();
@@ -9,10 +9,13 @@
9
9
  "license": "Apache-2.0"
10
10
  },
11
11
  "node_modules/@vercel/detect-agent": {
12
- "version": "0.2.0",
13
- "resolved": "https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-0.2.0.tgz",
14
- "integrity": "sha512-qf10Q2UwlbJAcWVqQGkyp9OlLBn9Aj2VVE0M4mTDe0gpB7Fo8qycTJLccDbHeyLrWnT6Q12sVy9ZYHas7B+rwg==",
15
- "license": "Apache-2.0"
12
+ "version": "1.0.0",
13
+ "resolved": "https://registry.npmjs.org/@vercel/detect-agent/-/detect-agent-1.0.0.tgz",
14
+ "integrity": "sha512-AIPgNkmtFcDgPCl+xvTT1ga90OL7OTX2RKM4zu0PMpwBthPfN2DpdHy10n3bh8K+CA22GDU0/ncjzprZsrk0sw==",
15
+ "license": "Apache-2.0",
16
+ "engines": {
17
+ "node": ">=14"
18
+ }
16
19
  },
17
20
  "node_modules/@vercel/python": {
18
21
  "version": "5.0.5",
@@ -0,0 +1,19 @@
1
+ # @vercel/detect-agent
2
+
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - Change return format to be an object to future proof ([#13965](https://github.com/vercel/vercel/pull/13965))
8
+
9
+ ## 0.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Improve agent detection ([#13762](https://github.com/vercel/vercel/pull/13762))
14
+
15
+ ## 0.1.0
16
+
17
+ ### Minor Changes
18
+
19
+ - Initial release ([#13745](https://github.com/vercel/vercel/pull/13745))
@@ -0,0 +1,123 @@
1
+ # @vercel/detect-agent
2
+
3
+ A lightweight utility for detecting if code is being executed by an AI agent or automated development environment.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @vercel/detect-agent
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { determineAgent } from '@vercel/detect-agent';
15
+
16
+ const { isAgent, agent } = await determineAgent();
17
+
18
+ if (isAgent) {
19
+ console.log(`Running in ${agent.name} environment`);
20
+ // Adapt behavior for AI agent context
21
+ }
22
+ ```
23
+
24
+ ## Supported Agents
25
+
26
+ This package can detect the following AI agents and development environments:
27
+
28
+ - **Custom agents** via `AI_AGENT` environment variable
29
+ - **Cursor** (cursor editor and cursor-cli)
30
+ - **Claude Code** (Anthropic's Claude)
31
+ - **Devin** (Cognition Labs)
32
+ - **Gemini CLI** (Google)
33
+ - **Codex** (OpenAI)
34
+ - **Replit** (online IDE)
35
+
36
+ ## The AI_AGENT Standard
37
+
38
+ We're promoting `AI_AGENT` as a universal environment variable standard for AI development tools. This allows any tool or library to easily detect when it's running in an AI-driven environment.
39
+
40
+ ### For AI Tool Developers
41
+
42
+ Set the `AI_AGENT` environment variable to identify your tool:
43
+
44
+ ```bash
45
+ export AI_AGENT="your-tool-name"
46
+ # or
47
+ AI_AGENT="your-tool-name" your-command
48
+ ```
49
+
50
+ ### Recommended Naming Convention
51
+
52
+ - Use lowercase with hyphens for multi-word names
53
+ - Include version information if needed, separated by an `@` symbol
54
+ - Examples: `claude-code`, `cursor-cli`, `devin@1`, `custom-agent@2.0`
55
+
56
+ ## Use Cases
57
+
58
+ ### Adaptive Behavior
59
+
60
+ ```typescript
61
+ import { determineAgent } from '@vercel/detect-agent';
62
+
63
+ async function setupEnvironment() {
64
+ const { isAgent, agent } = await determineAgent();
65
+
66
+ if (isAgent) {
67
+ // Running in AI environment - adjust behavior
68
+ process.env.LOG_LEVEL = 'verbose';
69
+ console.log(`🤖 Detected AI agent: ${agent.name}`);
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### Telemetry and Analytics
75
+
76
+ ```typescript
77
+ import { determineAgent } from '@vercel/detect-agent';
78
+
79
+ async function trackUsage(event: string) {
80
+ const result = await determineAgent();
81
+
82
+ analytics.track(event, {
83
+ agent: result.isAgent ? result.agent.name : 'human',
84
+ timestamp: Date.now(),
85
+ });
86
+ }
87
+ ```
88
+
89
+ ### Feature Toggles
90
+
91
+ ```typescript
92
+ import { determineAgent } from '@vercel/detect-agent';
93
+
94
+ async function shouldEnableFeature(feature: string) {
95
+ const result = await determineAgent();
96
+
97
+ // Enable experimental features for AI agents
98
+ if (result.isAgent && feature === 'experimental-ai-mode') {
99
+ return true;
100
+ }
101
+
102
+ return false;
103
+ }
104
+ ```
105
+
106
+ ## Contributing
107
+
108
+ We welcome contributions! Please see our [contributing guidelines](../../CONTRIBUTING.md).
109
+
110
+ ### Adding New Agent Support
111
+
112
+ To add support for a new AI agent:
113
+
114
+ 1. Add detection logic to `src/index.ts`
115
+ 2. Add comprehensive test cases in `test/unit/determine-agent.test.ts`
116
+ 3. Update this README with the new agent information
117
+ 4. Follow the existing priority order pattern
118
+
119
+ ## Links
120
+
121
+ - [GitHub Repository](https://github.com/vercel/vercel/tree/main/packages/detect-agent)
122
+ - [npm Package](https://www.npmjs.com/package/@vercel/detect-agent)
123
+ - [Vercel Documentation](https://vercel.com/docs)
@@ -0,0 +1,29 @@
1
+ declare const CURSOR: "cursor";
2
+ declare const CURSOR_CLI: "cursor-cli";
3
+ declare const CLAUDE: "claude";
4
+ declare const DEVIN: "devin";
5
+ declare const REPLIT: "replit";
6
+ declare const GEMINI: "gemini";
7
+ declare const CODEX: "codex";
8
+ export type KnownAgentNames = typeof CURSOR | typeof CURSOR_CLI | typeof CLAUDE | typeof DEVIN | typeof REPLIT | typeof GEMINI | typeof CODEX;
9
+ export interface KnownAgentDetails {
10
+ name: KnownAgentNames;
11
+ }
12
+ export type AgentResult = {
13
+ isAgent: true;
14
+ agent: KnownAgentDetails;
15
+ } | {
16
+ isAgent: false;
17
+ agent: undefined;
18
+ };
19
+ export declare const KNOWN_AGENTS: {
20
+ readonly CURSOR: "cursor";
21
+ readonly CURSOR_CLI: "cursor-cli";
22
+ readonly CLAUDE: "claude";
23
+ readonly DEVIN: "devin";
24
+ readonly REPLIT: "replit";
25
+ readonly GEMINI: "gemini";
26
+ readonly CODEX: "codex";
27
+ };
28
+ export declare function determineAgent(): Promise<AgentResult>;
29
+ export {};
@@ -18,12 +18,13 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var src_exports = {};
20
20
  __export(src_exports, {
21
+ KNOWN_AGENTS: () => KNOWN_AGENTS,
21
22
  determineAgent: () => determineAgent
22
23
  });
23
24
  module.exports = __toCommonJS(src_exports);
24
25
  var import_promises = require("node:fs/promises");
25
26
  var import_node_fs = require("node:fs");
26
- const devinLocalPath = "/opt/.devin";
27
+ const DEVIN_LOCAL_PATH = "/opt/.devin";
27
28
  const CURSOR = "cursor";
28
29
  const CURSOR_CLI = "cursor-cli";
29
30
  const CLAUDE = "claude";
@@ -31,36 +32,52 @@ const DEVIN = "devin";
31
32
  const REPLIT = "replit";
32
33
  const GEMINI = "gemini";
33
34
  const CODEX = "codex";
35
+ const KNOWN_AGENTS = {
36
+ CURSOR,
37
+ CURSOR_CLI,
38
+ CLAUDE,
39
+ DEVIN,
40
+ REPLIT,
41
+ GEMINI,
42
+ CODEX
43
+ };
34
44
  async function determineAgent() {
35
45
  if (process.env.AI_AGENT) {
36
- return process.env.AI_AGENT;
46
+ const name = process.env.AI_AGENT.trim();
47
+ if (name) {
48
+ return {
49
+ isAgent: true,
50
+ agent: { name }
51
+ };
52
+ }
37
53
  }
38
54
  if (process.env.CURSOR_TRACE_ID) {
39
- return CURSOR;
55
+ return { isAgent: true, agent: { name: CURSOR } };
40
56
  }
41
57
  if (process.env.CURSOR_AGENT) {
42
- return CURSOR_CLI;
58
+ return { isAgent: true, agent: { name: CURSOR_CLI } };
43
59
  }
44
60
  if (process.env.GEMINI_CLI) {
45
- return GEMINI;
61
+ return { isAgent: true, agent: { name: GEMINI } };
46
62
  }
47
63
  if (process.env.CODEX_SANDBOX) {
48
- return CODEX;
64
+ return { isAgent: true, agent: { name: CODEX } };
49
65
  }
50
66
  if (process.env.CLAUDECODE || process.env.CLAUDE_CODE) {
51
- return CLAUDE;
67
+ return { isAgent: true, agent: { name: CLAUDE } };
52
68
  }
53
69
  if (process.env.REPL_ID) {
54
- return REPLIT;
70
+ return { isAgent: true, agent: { name: REPLIT } };
55
71
  }
56
72
  try {
57
- await (0, import_promises.access)(devinLocalPath, import_node_fs.constants.F_OK);
58
- return DEVIN;
73
+ await (0, import_promises.access)(DEVIN_LOCAL_PATH, import_node_fs.constants.F_OK);
74
+ return { isAgent: true, agent: { name: DEVIN } };
59
75
  } catch (error) {
60
- return false;
61
76
  }
77
+ return { isAgent: false, agent: void 0 };
62
78
  }
63
79
  // Annotate the CommonJS export names for ESM import in node:
64
80
  0 && (module.exports = {
81
+ KNOWN_AGENTS,
65
82
  determineAgent
66
83
  });
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@vercel/detect-agent",
3
+ "version": "1.0.0",
4
+ "description": "Detect if code is running in an AI agent or automated development environment",
5
+ "keywords": [
6
+ "ai",
7
+ "agent",
8
+ "detection",
9
+ "environment",
10
+ "cursor",
11
+ "claude",
12
+ "devin",
13
+ "automation",
14
+ "ai-agent"
15
+ ],
16
+ "license": "Apache-2.0",
17
+ "author": "Vercel",
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js",
24
+ "require": "./dist/index.js"
25
+ }
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "homepage": "https://github.com/vercel/vercel/tree/main/packages/detect-agent#readme",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/vercel/vercel.git",
34
+ "directory": "packages/detect-agent"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/vercel/vercel/issues"
38
+ },
39
+ "engines": {
40
+ "node": ">=14"
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "README.md",
45
+ "CHANGELOG.md"
46
+ ],
47
+ "dependencies": {},
48
+ "devDependencies": {
49
+ "vite": "^5.1.6",
50
+ "vitest": "^2.0.1",
51
+ "mock-fs": "5.5.0",
52
+ "@types/mock-fs": "4.13.4"
53
+ },
54
+ "scripts": {
55
+ "build": "node ../../utils/build.mjs",
56
+ "test": "vitest -c ../../vitest.config.mts",
57
+ "type-check": "tsc --noEmit"
58
+ }
59
+ }
@@ -5,7 +5,7 @@
5
5
  },
6
6
  "dependencies": {
7
7
  "@vercel/build-utils": "12.1.0",
8
- "@vercel/detect-agent": "0.2.0",
8
+ "@vercel/detect-agent": "1.0.0",
9
9
  "@vercel/python": "5.0.5"
10
10
  },
11
11
  "description": "The command-line interface for Vercel",
@@ -37,5 +37,5 @@
37
37
  "vitest-run": "vitest --config ./vitest.config.mts",
38
38
  "vitest-unit": "jest test/unit/ --listTests"
39
39
  },
40
- "version": "48.1.0"
40
+ "version": "48.1.1"
41
41
  }
@@ -1 +0,0 @@
1
- export declare function determineAgent(): Promise<string | false>;
@@ -1,31 +0,0 @@
1
- {
2
- "name": "@vercel/detect-agent",
3
- "version": "0.2.0",
4
- "license": "Apache-2.0",
5
- "main": "./dist/index.js",
6
- "publishConfig": {
7
- "access": "public"
8
- },
9
- "homepage": "https://vercel.com/docs",
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/vercel/vercel.git",
13
- "directory": "packages/detect-agent"
14
- },
15
- "files": [
16
- "dist"
17
- ],
18
- "dependencies": {},
19
- "devDependencies": {
20
- "vite": "^5.1.6",
21
- "vitest": "^2.0.1",
22
- "mock-fs": "5.5.0",
23
- "@types/mock-fs": "4.13.4"
24
- },
25
- "scripts": {
26
- "build": "node ../../utils/build.mjs",
27
- "vitest-run": "vitest -c ../../vitest.config.mts",
28
- "vitest-unit": "glob --absolute 'test/unit/**/*.test.ts' 'test/unit/**/*.test.mts'",
29
- "type-check": "tsc --noEmit"
30
- }
31
- }
File without changes
File without changes
File without changes