@codingame/monaco-vscode-api 1.78.6 → 1.78.7

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.
@@ -832,10 +832,26 @@ function applyPatches(uniDiff, options) {
832
832
 
833
833
  const require = createRequire(import.meta.url);
834
834
  async function run() {
835
+ const ownPackageJson = JSON.parse((await fs.readFile(require.resolve('../package.json'))).toString('utf-8'));
836
+ const expectedMonacoVersion = ownPackageJson.peerDependencies['monaco-editor'];
835
837
  const patchContent = await fs.readFile(require.resolve('../monaco-editor-treemending.patch'));
836
- const monacoDirectory = path.resolve(path.dirname(require.resolve('monaco-editor/monaco.d.ts', { paths: [process.cwd()] })), 'esm');
838
+ const monacoDirectory = path.dirname(require.resolve('monaco-editor/monaco.d.ts', { paths: [process.cwd()] }));
839
+ const monacoEsmDirectory = path.resolve(monacoDirectory, 'esm');
840
+ const monacoPackageJsonFile = path.resolve(monacoDirectory, 'package.json');
841
+ const monacoPackageJson = JSON.parse((await fs.readFile(monacoPackageJsonFile)).toString('utf-8'));
842
+ const monacoVersion = monacoPackageJson.version;
843
+ if (expectedMonacoVersion !== monacoVersion) {
844
+ console.error(`Wrong monaco-editor version: expecting ${expectedMonacoVersion}, got ${monacoVersion}`);
845
+ process.exit(1);
846
+ }
847
+ const alreadyPatched = monacoPackageJson.treemended ?? false;
848
+ if (alreadyPatched) {
849
+ // eslint-disable-next-line no-console
850
+ console.info('Monaco-editor has already been tree-mended, ignoring');
851
+ process.exit(0);
852
+ }
837
853
  function getMonacoFile(diff) {
838
- return path.resolve(monacoDirectory, diff.oldFileName.slice('a/'.length));
854
+ return path.resolve(monacoEsmDirectory, diff.oldFileName.slice('a/'.length));
839
855
  }
840
856
  await new Promise((resolve, reject) => {
841
857
  applyPatches(patchContent.toString('utf-8'), {
@@ -873,10 +889,16 @@ async function run() {
873
889
  }
874
890
  });
875
891
  });
876
- }
877
- run().then(() => {
892
+ // Mark monaco as treemended
893
+ await fs.writeFile(monacoPackageJsonFile, JSON.stringify({
894
+ ...monacoPackageJson,
895
+ treemended: true
896
+ }, null, 2));
878
897
  // eslint-disable-next-line no-console
879
898
  console.info('Monaco-editor was tree-mended');
880
- }, err => {
899
+ process.exit(0);
900
+ }
901
+ run().catch(err => {
881
902
  console.error(err);
903
+ process.exit(1);
882
904
  });