fix: add micromatch to package deps (#1020)

This commit is contained in:
Brandon Keiji
2025-06-13 22:18:05 +00:00
committed by GitHub
parent a2fe3d2ad0
commit 209381f06f
4 changed files with 45 additions and 12 deletions

View File

@@ -0,0 +1,38 @@
/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {
readPackageUp,
type PackageJson as BasePackageJson,
} from 'read-package-up';
import { fileURLToPath } from 'url';
import path from 'path';
export type PackageJson = BasePackageJson & {
config?: {
sandboxImageUri?: string;
};
};
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
let packageJson: PackageJson | undefined;
export async function getPackageJson(): Promise<PackageJson | undefined> {
if (packageJson) {
return packageJson;
}
const result = await readPackageUp({ cwd: __dirname });
if (!result) {
// TODO: Maybe bubble this up as an error.
return;
}
packageJson = result.packageJson;
return packageJson;
}

View File

@@ -10,7 +10,7 @@ import path from 'node:path';
import fs from 'node:fs';
import { readFile } from 'node:fs/promises';
import { quote } from 'shell-quote';
import { readPackageUp } from 'read-package-up';
import { getPackageJson } from './package.js';
import commandExists from 'command-exists';
import {
USER_SETTINGS_DIR,
@@ -102,13 +102,10 @@ async function shouldUseCurrentUserInSandbox(): Promise<boolean> {
async function getSandboxImageName(
isCustomProjectSandbox: boolean,
): Promise<string> {
const packageJsonResult = await readPackageUp();
const packageJsonConfig = packageJsonResult?.packageJson.config as
| { sandboxImageUri?: string }
| undefined;
const packageJson = await getPackageJson();
return (
process.env.GEMINI_SANDBOX_IMAGE ??
packageJsonConfig?.sandboxImageUri ??
packageJson?.config?.sandboxImageUri ??
(isCustomProjectSandbox
? LOCAL_DEV_SANDBOX_IMAGE_NAME + '-' + path.basename(path.resolve())
: LOCAL_DEV_SANDBOX_IMAGE_NAME)