Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ This product includes the following bundled third-party software:
- minisearch v7.2.0 [MIT] (used by: @nvidia-elements/lint, @nvidia-elements/pi)
Copyright: Luca Ongaro

- monaco-editor v0.55.1 [MIT] (used by: @nvidia-elements/monaco)
- monaco-editor v0.57.0 [MIT] (used by: @nvidia-elements/monaco)
Copyright: Microsoft Corporation

- open v11.0.4 [MIT] (used by: @nvidia-elements/cli)
Expand Down Expand Up @@ -364,7 +364,7 @@ markdown-it v15.0.1 - Copyright Unknown
marked v18.0.14 - Copyright Christopher Jeffrey
marked-terminal v7.3.0 - Copyright Mikael Brevik
minisearch v7.2.0 - Copyright Luca Ongaro
monaco-editor v0.55.1 - Copyright Microsoft Corporation
monaco-editor v0.57.0 - Copyright Microsoft Corporation
open v11.0.4 - Copyright Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
open v11.0.0 - Copyright Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
ora v9.4.1 - Copyright Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
Expand Down
765 changes: 526 additions & 239 deletions patches/monaco-editor.patch

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions projects/monaco/NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This project includes the following bundled third-party software:
- lit-html v3.3.3 [BSD-3-Clause]
Copyright: Google LLC

- monaco-editor v0.55.1 [MIT]
- monaco-editor v0.57.0 [MIT]
Copyright: Microsoft Corporation

==============================================================================
Expand Down Expand Up @@ -54,7 +54,7 @@ MIT

The following bundled components are provided under the MIT license:

monaco-editor v0.55.1 - Copyright Microsoft Corporation
monaco-editor v0.57.0 - Copyright Microsoft Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
42 changes: 21 additions & 21 deletions projects/monaco/build/prebundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,18 @@ const workerUrlRewritePlugin: Plugin = {
const normalizedPath = path.replace(/\\/g, '/');

for (const language of languages) {
if (normalizedPath.endsWith(`monaco-editor/esm/vs/language/${language}/workerManager.js`)) {
if (normalizedPath.endsWith(`monaco-editor/esm/vs/languages/features/${language}/workerManager.js`)) {
const workerFile = language === 'typescript' ? 'ts.worker.js' : `${language}.worker.js`;
let code = await fs.promises.readFile(path, 'utf8');
const code = await fs.promises.readFile(path, 'utf8');
const rewritten = code.replace(
new RegExp(`new Worker\\(new URL\\(['"\`]${workerFile}['"\`],\\s*import\\.meta\\.url\\)`, 'g'),
`new Worker(/* @vite-ignore */new URL(/* @vite-ignore */'${`../../../workers/${workerFile}`}', import.meta.url)`
);
if (rewritten === code) {
throw new Error(`Unable to rewrite the ${language} worker URL in ${path}`);
}
return {
contents: code.replace(
new RegExp(`new Worker\\(new URL\\(['"\`]${workerFile}['"\`],\\s*import\\.meta\\.url\\)`, 'g'),
`new Worker(/* @vite-ignore */new URL(/* @vite-ignore */'${`../../../workers/${workerFile}`}', import.meta.url)`
),
contents: rewritten,
loader: 'js'
};
}
Expand All @@ -89,14 +93,14 @@ const workerUrlRewritePlugin: Plugin = {

// Prebundle the vendored monaco-editor code
await build({
entryPoints: [
'monaco-editor/esm/vs/editor/editor.main.js',
'monaco-editor/esm/vs/editor/editor.worker.js',
'monaco-editor/esm/vs/language/css/css.worker.js',
'monaco-editor/esm/vs/language/html/html.worker.js',
'monaco-editor/esm/vs/language/json/json.worker.js',
'monaco-editor/esm/vs/language/typescript/ts.worker.js'
],
entryPoints: {
'editor/editor.main': 'monaco-editor',
'editor/editor.worker': 'monaco-editor/editor/editor.worker',
'language/css/css.worker': 'monaco-editor/languages/features/css/css.worker',
'language/html/html.worker': 'monaco-editor/languages/features/html/html.worker',
'language/json/json.worker': 'monaco-editor/languages/features/json/json.worker',
'language/typescript/ts.worker': 'monaco-editor/languages/features/typescript/ts.worker'
},
plugins: [workerUrlRewritePlugin, postcssPlugin],
outdir,
format: 'esm',
Expand All @@ -112,24 +116,20 @@ await build({
// Prebundle the vendored monaco-editor types
const types = generateDtsBundle([
{
filePath: path.resolve(node_modules_dir, 'monaco-editor/esm/vs/editor/editor.api.d.ts'),
filePath: path.resolve(node_modules_dir, 'monaco-editor/esm/vs/index.d.ts'),
libraries: {
inlinedLibraries: ['monaco-editor']
},
output: {
inlineDeclareExternals: true,
exportReferencedTypes: false,
sortNodes: false,
noBanner: true
}
}
]);

fs.writeFileSync(path.resolve(outdir, 'editor/editor.api.d.ts'), types.join('\n'));

fs.copyFileSync(
path.resolve(node_modules_dir, 'monaco-editor/esm/vs/editor/editor.main.d.ts'),
path.resolve(outdir, 'editor/editor.main.d.ts')
);
fs.writeFileSync(path.resolve(outdir, 'editor/editor.main.d.ts'), types.join('\n'));

// ---

Expand Down
2 changes: 1 addition & 1 deletion projects/monaco/notice.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"bundled": [
{
"name": "monaco-editor",
"version": "0.55.1",
"version": "0.57.0",
"license": "MIT",
"author": "Microsoft Corporation"
}
Expand Down
2 changes: 1 addition & 1 deletion projects/monaco/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@
"eslint": "catalog:",
"lit": "catalog:",
"lit-html": "catalog:",
"monaco-editor": "0.55.1",
"monaco-editor": "0.57.0",
"stylelint": "catalog:",
"stylelint-config-standard": "catalog:",
"postcss": "catalog:",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ describe('monaco-diff-editor lighthouse report', () => {
expect(report.scores.performance).toBeGreaterThanOrEqual(72);
expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(1318);
expect(report.payload.javascript.kb).toBeLessThan(1415);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(10.6);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
Comment thread
coderabbitai[bot] marked this conversation as resolved.
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand Down
16 changes: 8 additions & 8 deletions projects/monaco/src/diff-input/diff-input.test.lighthouse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ describe('monaco-diff-input lighthouse report', () => {
expect(report.scores.performance).toBeGreaterThanOrEqual(90);
expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(1321);
expect(report.payload.javascript.kb).toBeLessThan(1420);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(15.2);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand All @@ -40,11 +40,11 @@ describe('monaco-diff-input lighthouse report', () => {

expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(3367);
expect(report.payload.javascript.kb).toBeLessThan(3445);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(15.2);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand Down
41 changes: 33 additions & 8 deletions projects/monaco/src/editor.global.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,37 @@
src: url('../node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf') format('truetype');
}

[nve-theme*='reduced-motion'] {
--vscode-animationDuration-instant: 0;
--vscode-animationDuration-short: 0;
--vscode-animationDuration-medium: 0;
--vscode-animationDuration-long: 0;
--vscode-animationDuration-slow: 0;
--vscode-animationDuration-ambient: 0;
--vscode-animationDuration-cycle: 0;
/* Define our duration scale in the document stylesheet so it inherits into editor shadow roots.
:root in Monaco's shadow stylesheet cannot match the document root.
The vendor patch consumes these variables; reduced-motion overrides remain below. */
:root {
--vscode-animationDuration-instant: 50ms;
--vscode-animationDuration-short: 100ms;
--vscode-animationDuration-medium: 300ms;
--vscode-animationDuration-long: 500ms;
--vscode-animationDuration-slow: 800ms;
--vscode-animationDuration-ambient: 1.25s;
--vscode-animationDuration-cycle: 4s;
}

[nve-theme~='reduced-motion'] {
--vscode-animationDuration-instant: 0ms;
--vscode-animationDuration-short: 0ms;
--vscode-animationDuration-medium: 0ms;
--vscode-animationDuration-long: 0ms;
--vscode-animationDuration-slow: 0ms;
--vscode-animationDuration-ambient: 0ms;
--vscode-animationDuration-cycle: 0ms;
}

@media (prefers-reduced-motion: reduce) {
:root {
--vscode-animationDuration-instant: 0ms;
--vscode-animationDuration-short: 0ms;
--vscode-animationDuration-medium: 0ms;
--vscode-animationDuration-long: 0ms;
--vscode-animationDuration-slow: 0ms;
--vscode-animationDuration-ambient: 0ms;
--vscode-animationDuration-cycle: 0ms;
}
}
8 changes: 4 additions & 4 deletions projects/monaco/src/editor/editor.test.lighthouse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ describe('monaco-editor lighthouse report', () => {
expect(report.scores.performance).toBeGreaterThanOrEqual(72);
expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(1318);
expect(report.payload.javascript.kb).toBeLessThan(1415);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(11);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand Down
4 changes: 2 additions & 2 deletions projects/monaco/src/index.test.lighthouse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ describe('lighthouse report', () => {
</script>
`);

expect(report.payload.javascript.kb).toBeLessThan(1114.15);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1112.81);
expect(report.payload.javascript.kb).toBeLessThan(1193);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
});
});
12 changes: 11 additions & 1 deletion projects/monaco/src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import { describe, expect, it } from 'vitest';
import { VERSION } from './index.js';
import * as monaco from './index.js';
import { ProblemSeverity } from './internal/types/index.js';

describe('VERSION', () => {
it('should export a VERSION const', () => {
Expand All @@ -16,6 +17,15 @@ describe('VERSION', () => {
expect(compilerOptions.target).toBe(monaco.typescript.ScriptTarget.ESNext);
expect(compilerOptions.isolatedModules).toBe(true);
expect(compilerOptions.allowNonTsExtensions).toBe(true);
expect(compilerOptions.moduleDetection).toBe(3 /* monaco.languages.typescript.ModuleDetectionKind.Force */);
expect(compilerOptions.moduleDetection).toBe(3 /* ModuleDetectionKind.Force */);
});

it('should mirror upstream marker severity values', () => {
expect(ProblemSeverity).toEqual({
Hint: monaco.MarkerSeverity.Hint,
Info: monaco.MarkerSeverity.Info,
Warning: monaco.MarkerSeverity.Warning,
Error: monaco.MarkerSeverity.Error
});
});
});
16 changes: 8 additions & 8 deletions projects/monaco/src/input/input.test.lighthouse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ describe('monaco-input lighthouse report', () => {
expect(report.scores.performance).toBeGreaterThanOrEqual(90);
expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(1321);
expect(report.payload.javascript.kb).toBeLessThan(1420);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(14.7);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand All @@ -40,11 +40,11 @@ describe('monaco-input lighthouse report', () => {

expect(report.scores.accessibility).toBe(100);
expect(report.scores.bestPractices).toBe(100);
expect(report.payload.javascript.kb).toBeLessThan(3367);
expect(report.payload.javascript.kb).toBeLessThan(3445);
expect(report.payload.javascript.requests['index.js'].kb).toBeLessThan(14.7);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(78);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(24);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1114);
expect(report.payload.javascript.requests['editor2.global.js'].kb).toBeLessThan(100);
expect(report.payload.javascript.requests['editor2.main.js'].kb).toBeLessThan(29);
expect(report.payload.javascript.requests['dist.js'].kb).toBeLessThan(1192);
expect(report.payload.javascript.requests['dark.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['light.js'].kb).toBeLessThan(3);
expect(report.payload.javascript.requests['editor2.worker.js'].kb).toBeLessThan(88);
Expand Down
9 changes: 5 additions & 4 deletions projects/monaco/src/internal/formats/problems-format.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type { Monaco } from '@nvidia-elements/monaco';
import type * as monaco from '@nvidia-elements/monaco';

import type { Problem } from '../types/index.js';
import { ProblemSeverity } from '../types/index.js';

interface ColumnRange {
startColumn: number;
Expand Down Expand Up @@ -42,13 +43,13 @@ export type SeverityLabel = 'hint' | 'info' | 'warning' | 'error';

export function toSeverityLabel(severity: number): SeverityLabel {
switch (severity) {
case 1: // ProblemSeverity.Hint:
case ProblemSeverity.Hint:
return 'hint';
case 2: // ProblemSeverity.Info:
case ProblemSeverity.Info:
return 'info';
case 4: // ProblemSeverity.Warning:
case ProblemSeverity.Warning:
return 'warning';
case 8: // ProblemSeverity.Error:
case ProblemSeverity.Error:
return 'error';
default:
throw new Error(`Unknown severity: ${severity}`);
Expand Down
Loading
Loading