Quellcode durchsuchen

Fixes https://github.com/microsoft/monaco-editor/issues/4906 (#4994)

Henning Dieterichs vor 1 Woche
Ursprung
Commit
52d68ac7c4
2 geänderte Dateien mit 34 neuen und 0 gelöschten Zeilen
  1. 33 0
      scripts/ci/build-monaco-editor-pkg.ts
  2. 1 0
      scripts/lib/index.ts

+ 33 - 0
scripts/ci/build-monaco-editor-pkg.ts

@@ -46,8 +46,26 @@ async function prepareMonacoEditorRelease(monacoEditorCoreVersion: string) {
 		const packageJson = JSON.parse(
 			await readFile(monacoEditorPackageJsonPath, { encoding: 'utf-8' })
 		) as PackageJson;
+
 		packageJson.version = monacoEditorCoreVersion;
 		packageJson.devDependencies['monaco-editor-core'] = monacoEditorCoreVersion;
+
+		const monacoEditorCorePackageJson = JSON.parse(
+			await readFile(monacoEditorCorePackageJsonPath, { encoding: 'utf-8' })
+		) as PackageJson;
+
+		if (monacoEditorCorePackageJson.dependencies) {
+			if (!packageJson.dependencies) {
+				packageJson.dependencies = {};
+			}
+
+			objectMergeThrowIfSet(
+				packageJson.dependencies,
+				monacoEditorCorePackageJson.dependencies,
+				'dependencies'
+			);
+		}
+
 		await writeJsonFile(monacoEditorPackageJsonPath, packageJson);
 	});
 
@@ -81,4 +99,19 @@ async function prepareMonacoEditorRelease(monacoEditorCoreVersion: string) {
 	});
 }
 
+function objectMergeThrowIfSet(
+	target: Record<string, any>,
+	source: Record<string, any>,
+	fieldName: string
+): void {
+	for (const [key, value] of Object.entries(source)) {
+		if (key in target) {
+			throw new Error(
+				`Cannot merge ${fieldName}: property '${key}' already exists in target with value '${target[key]}', would be overridden with '${value}'`
+			);
+		}
+		target[key] = value;
+	}
+}
+
 prepareMonacoEditorReleaseStableOrNightly();

+ 1 - 0
scripts/lib/index.ts

@@ -92,4 +92,5 @@ export interface PackageJson {
 	vscodeCommitId?: string;
 	monacoCommitId?: string;
 	devDependencies: Record<string, string>;
+	dependencies?: Record<string, string>;
 }