Move assert.ts and rison.ts to shared/ directory (#8246)

## Summary
Moves `static/assert.ts` and `static/rison.ts` to `shared/` directory to
make them available to both frontend and backend code without browser
dependencies. Updates all import paths across the codebase (~47 files).

## Motivation
This refactoring eliminates browser dependencies in these utilities,
allowing them to be imported by Node.js contexts (like Cypress test
files) without causing module load failures. This is a prerequisite for
upcoming Cypress test improvements.

## Changes
- Move `static/assert.ts` → `shared/assert.ts`
- Move `static/rison.ts` → `shared/rison.ts`  
- Update `biome.json` to allow `hasOwnProperty` in `shared/` directory
- Update all imports across `static/`, `lib/`, and `test/` directories
(47 files changed)

## Benefits
- No functional changes, purely a code reorganization
- Makes these utilities accessible to both frontend and backend without
circular dependencies
- Enables future Cypress improvements that require these utilities in
Node.js context
- All tests pass ✓ (699 tests)

## Test Plan
- [x] TypeScript compilation passes
- [x] Linting passes
- [x] All unit tests pass (699 tests)
- [x] Pre-commit hooks pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Matt Godbolt
2025-11-04 10:58:11 -06:00
committed by GitHub
parent 8a45358336
commit 03d20c5fde
40 changed files with 38 additions and 42 deletions

View File

@@ -19,7 +19,7 @@
}, },
"overrides": [ "overrides": [
{ {
"includes": ["static/**"], "includes": ["static/**", "shared/**"],
"linter": { "linter": {
"rules": { "rules": {
"suspicious": { "suspicious": {

View File

@@ -26,9 +26,9 @@
// Converted to typescript by MarkusJx // Converted to typescript by MarkusJx
import _ from 'underscore'; import _ from 'underscore';
import {assert, unwrap} from '../shared/assert.js';
import {escapeHTML, isString} from '../shared/common-utils.js'; import {escapeHTML, isString} from '../shared/common-utils.js';
import {AnsiToHtmlOptions, ColorCodes} from './ansi-to-html.interfaces.js'; import {AnsiToHtmlOptions, ColorCodes} from './ansi-to-html.interfaces.js';
import {assert, unwrap} from './assert.js';
const defaults: AnsiToHtmlOptions = { const defaults: AnsiToHtmlOptions = {
fg: '#FFF', fg: '#FFF',

View File

@@ -24,9 +24,9 @@
import {Buffer} from 'buffer'; import {Buffer} from 'buffer';
import $ from 'jquery'; import $ from 'jquery';
import {assert, unwrap} from '../shared/assert.js';
import {CompilationResult} from '../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../types/compilation/compilation.interfaces.js';
import {Artifact, ArtifactType} from '../types/tool.interfaces.js'; import {Artifact, ArtifactType} from '../types/tool.interfaces.js';
import {assert, unwrap} from './assert.js';
import * as BootstrapUtils from './bootstrap-utils.js'; import * as BootstrapUtils from './bootstrap-utils.js';
import {Alert} from './widgets/alert.js'; import {Alert} from './widgets/alert.js';

View File

@@ -23,10 +23,9 @@
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import {unwrap} from '../shared/assert.js';
import {getFormattedCode} from './api/api.js'; import {getFormattedCode} from './api/api.js';
import {FormattingRequest} from './api/formatting.interfaces.js'; import {FormattingRequest} from './api/formatting.interfaces.js';
import {unwrap} from './assert.js';
import {Settings} from './settings.js'; import {Settings} from './settings.js';
import {Alert} from './widgets/alert.js'; import {Alert} from './widgets/alert.js';

View File

@@ -43,10 +43,10 @@ import _ from 'underscore';
// We re-assign this // We re-assign this
let jsCookie = JsCookie; let jsCookie = JsCookie;
import {unwrap} from '../shared/assert.js';
import * as utils from '../shared/common-utils.js'; import * as utils from '../shared/common-utils.js';
import {ParseFiltersAndOutputOptions} from '../types/features/filters.interfaces.js'; import {ParseFiltersAndOutputOptions} from '../types/features/filters.interfaces.js';
import {LanguageKey} from '../types/languages.interfaces.js'; import {LanguageKey} from '../types/languages.interfaces.js';
import {unwrap} from './assert.js';
import * as BootstrapUtils from './bootstrap-utils.js'; import * as BootstrapUtils from './bootstrap-utils.js';
import {ComponentConfig, ComponentStateMap, GoldenLayoutConfig} from './components.interfaces.js'; import {ComponentConfig, ComponentStateMap, GoldenLayoutConfig} from './components.interfaces.js';
import * as Components from './components.js'; import * as Components from './components.js';

View File

@@ -25,9 +25,9 @@
import JSZip from 'jszip'; import JSZip from 'jszip';
import path from 'path-browserify'; import path from 'path-browserify';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../shared/assert.js';
import {FiledataPair} from '../types/compilation/compilation.interfaces.js'; import {FiledataPair} from '../types/compilation/compilation.interfaces.js';
import {LanguageKey} from '../types/languages.interfaces.js'; import {LanguageKey} from '../types/languages.interfaces.js';
import {unwrap} from './assert.js';
import {Hub} from './hub.js'; import {Hub} from './hub.js';
import * as options from './options.js'; import * as options from './options.js';
import {Alert} from './widgets/alert.js'; import {Alert} from './widgets/alert.js';

View File

@@ -22,7 +22,7 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import {unwrap} from './assert.js'; import {unwrap} from '../shared/assert.js';
const configElement = document.getElementById('config'); const configElement = document.getElementById('config');
if (!configElement) { if (!configElement) {

View File

@@ -26,10 +26,10 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {ResultLine} from '../../types/resultline/resultline.interfaces.js'; import {ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {unwrap} from '../assert.js';
import * as colour from '../colour.js'; import * as colour from '../colour.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import * as monacoConfig from '../monaco-config.js'; import * as monacoConfig from '../monaco-config.js';

View File

@@ -28,6 +28,7 @@ import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import _ from 'underscore'; import _ from 'underscore';
import {assert, unwrap} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import { import {
AnnotatedCfgDescriptor, AnnotatedCfgDescriptor,
@@ -37,7 +38,6 @@ import {
} from '../../types/compilation/cfg.interfaces.js'; } from '../../types/compilation/cfg.interfaces.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {assert, unwrap} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {GraphLayoutCore} from '../graph-layout-core.js'; import {GraphLayoutCore} from '../graph-layout-core.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';

View File

@@ -72,6 +72,7 @@ import {PPOptions} from './pp-view.interfaces.js';
import IEditorMouseEvent = editor.IEditorMouseEvent; import IEditorMouseEvent = editor.IEditorMouseEvent;
import fileSaver from 'file-saver'; import fileSaver from 'file-saver';
import {unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML, splitArguments} from '../../shared/common-utils.js'; import {escapeHTML, splitArguments} from '../../shared/common-utils.js';
import {ClangirBackendOptions} from '../../types/compilation/clangir.interfaces.js'; import {ClangirBackendOptions} from '../../types/compilation/clangir.interfaces.js';
import {LLVMIrBackendOptions} from '../../types/compilation/ir.interfaces.js'; import {LLVMIrBackendOptions} from '../../types/compilation/ir.interfaces.js';
@@ -81,7 +82,6 @@ import {InstructionSet} from '../../types/instructionsets.js';
import {LanguageKey} from '../../types/languages.interfaces.js'; import {LanguageKey} from '../../types/languages.interfaces.js';
import {Tool} from '../../types/tool.interfaces.js'; import {Tool} from '../../types/tool.interfaces.js';
import {ArtifactHandler} from '../artifact-handler.js'; import {ArtifactHandler} from '../artifact-handler.js';
import {unwrap, unwrapString} from '../assert.js';
import {ICompilerShared} from '../compiler-shared.interfaces.js'; import {ICompilerShared} from '../compiler-shared.interfaces.js';
import {CompilerShared} from '../compiler-shared.js'; import {CompilerShared} from '../compiler-shared.js';
import {SourceAndFiles} from '../download-service.js'; import {SourceAndFiles} from '../download-service.js';

View File

@@ -25,11 +25,11 @@
import {Container} from 'golden-layout'; import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import _ from 'underscore'; import _ from 'underscore';
import {unwrapString} from '../../shared/assert.js';
import {escapeHTML, unique} from '../../shared/common-utils.js'; import {escapeHTML, unique} from '../../shared/common-utils.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {SelectedLibraryVersion} from '../../types/libraries/libraries.interfaces.js'; import {SelectedLibraryVersion} from '../../types/libraries/libraries.interfaces.js';
import {unwrapString} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {CompilationStatus} from '../compiler-service.interfaces.js'; import {CompilationStatus} from '../compiler-service.interfaces.js';
import {CompilerService} from '../compiler-service.js'; import {CompilerService} from '../compiler-service.js';

View File

@@ -27,11 +27,11 @@ import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import _ from 'underscore'; import _ from 'underscore';
import {assert} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {InstructionSet} from '../../types/instructionsets.js'; import {InstructionSet} from '../../types/instructionsets.js';
import {ResultLine} from '../../types/resultline/resultline.interfaces.js'; import {ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {assert} from '../assert.js';
import * as colour from '../colour.js'; import * as colour from '../colour.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import * as monacoConfig from '../monaco-config.js'; import * as monacoConfig from '../monaco-config.js';

View File

@@ -43,12 +43,12 @@ import '../formatter-registry';
import '../modes/_all'; import '../modes/_all';
import {Container} from 'golden-layout'; import {Container} from 'golden-layout';
import type {escape_html} from 'tom-select/dist/types/utils.js'; import type {escape_html} from 'tom-select/dist/types/utils.js';
import {assert, unwrap} from '../../shared/assert.js';
import {escapeHTML, isString} from '../../shared/common-utils.js'; import {escapeHTML, isString} from '../../shared/common-utils.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {Language, LanguageKey} from '../../types/languages.interfaces.js'; import {Language, LanguageKey} from '../../types/languages.interfaces.js';
import {MessageWithLocation, ResultLine} from '../../types/resultline/resultline.interfaces.js'; import {MessageWithLocation, ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {assert, unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {Decoration, Motd} from '../motd.interfaces.js'; import {Decoration, Motd} from '../motd.interfaces.js';
import {Compiler} from './compiler.js'; import {Compiler} from './compiler.js';

View File

@@ -28,9 +28,9 @@ import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import _ from 'underscore'; import _ from 'underscore';
import {assert, unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {assert, unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import * as monacoConfig from '../monaco-config.js'; import * as monacoConfig from '../monaco-config.js';
import {Toggles} from '../widgets/toggles.js'; import {Toggles} from '../widgets/toggles.js';

View File

@@ -26,9 +26,9 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {extendConfig} from '../monaco-config.js'; import {extendConfig} from '../monaco-config.js';
import {GnatDebugState} from './gnatdebug-view.interfaces.js'; import {GnatDebugState} from './gnatdebug-view.interfaces.js';

View File

@@ -26,9 +26,9 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {extendConfig} from '../monaco-config.js'; import {extendConfig} from '../monaco-config.js';
import {GnatDebugTreeState} from './gnatdebugtree-view.interfaces.js'; import {GnatDebugTreeState} from './gnatdebugtree-view.interfaces.js';

View File

@@ -30,10 +30,10 @@ import _ from 'underscore';
import IEditorMouseEvent = editor.IEditorMouseEvent; import IEditorMouseEvent = editor.IEditorMouseEvent;
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {LLVMIrBackendOptions} from '../../types/compilation/ir.interfaces.js'; import {LLVMIrBackendOptions} from '../../types/compilation/ir.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {applyColours} from '../colour.js'; import {applyColours} from '../colour.js';
import * as Components from '../components.js'; import * as Components from '../components.js';
import {createDragSource} from '../components.js'; import {createDragSource} from '../components.js';

View File

@@ -29,6 +29,7 @@ import * as monaco from 'monaco-editor';
import scrollIntoView from 'scroll-into-view-if-needed'; import scrollIntoView from 'scroll-into-view-if-needed';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import { import {
@@ -37,7 +38,6 @@ import {
OptPipelineResults, OptPipelineResults,
} from '../../types/compilation/opt-pipeline-output.interfaces.js'; } from '../../types/compilation/opt-pipeline-output.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap, unwrapString} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {extendConfig} from '../monaco-config.js'; import {extendConfig} from '../monaco-config.js';
import * as utils from '../utils.js'; import * as utils from '../utils.js';

View File

@@ -26,9 +26,9 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {extendConfig} from '../monaco-config.js'; import {extendConfig} from '../monaco-config.js';
import {Toggles} from '../widgets/toggles.js'; import {Toggles} from '../widgets/toggles.js';

View File

@@ -25,10 +25,10 @@
import {Container} from 'golden-layout'; import {Container} from 'golden-layout';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {EventHub} from '../event-hub.js'; import {EventHub} from '../event-hub.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {Settings, SiteSettings} from '../settings.js'; import {Settings, SiteSettings} from '../settings.js';

View File

@@ -26,9 +26,9 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult, PPOutput} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult, PPOutput} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import * as monacoConfig from '../monaco-config.js'; import * as monacoConfig from '../monaco-config.js';
import {Toggles} from '../widgets/toggles.js'; import {Toggles} from '../widgets/toggles.js';

View File

@@ -26,9 +26,9 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';
import {extendConfig} from '../monaco-config.js'; import {extendConfig} from '../monaco-config.js';
import {SentryCapture} from '../sentry.js'; import {SentryCapture} from '../sentry.js';

View File

@@ -27,11 +27,11 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap, unwrapString} from '../../shared/assert.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {LanguageKey} from '../../types/languages.interfaces.js'; import {LanguageKey} from '../../types/languages.interfaces.js';
import * as AnsiToHtml from '../ansi-to-html.js'; import * as AnsiToHtml from '../ansi-to-html.js';
import {unwrap, unwrapString} from '../assert.js';
import {CompilerService} from '../compiler-service.js'; import {CompilerService} from '../compiler-service.js';
import {ComponentConfig, NewToolSettings, TOOL_INPUT_VIEW_COMPONENT_NAME, ToolState} from '../components.interfaces.js'; import {ComponentConfig, NewToolSettings, TOOL_INPUT_VIEW_COMPONENT_NAME, ToolState} from '../components.interfaces.js';
import * as Components from '../components.js'; import * as Components from '../components.js';

View File

@@ -27,10 +27,10 @@ import {Container} from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import _ from 'underscore'; import _ from 'underscore';
import {assert, unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import {LanguageKey} from '../../types/languages.interfaces.js'; import {LanguageKey} from '../../types/languages.interfaces.js';
import {ResultLine} from '../../types/resultline/resultline.interfaces.js'; import {ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {assert, unwrap, unwrapString} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import * as Components from '../components.js'; import * as Components from '../components.js';
import {createDragSource} from '../components.js'; import {createDragSource} from '../components.js';

View File

@@ -26,7 +26,7 @@ import $ from 'jquery';
import * as monaco from 'monaco-editor'; import * as monaco from 'monaco-editor';
import {unwrap} from './assert.js'; import {unwrap} from '../shared/assert.js';
import {EventHub} from './event-hub.js'; import {EventHub} from './event-hub.js';
import {Hub} from './hub.js'; import {Hub} from './hub.js';
import {Themer, themes} from './themes.js'; import {Themer, themes} from './themes.js';

View File

@@ -23,9 +23,9 @@
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import $ from 'jquery'; import $ from 'jquery';
import {assert, unwrapString} from '../shared/assert.js';
import {isString, keys} from '../shared/common-utils.js'; import {isString, keys} from '../shared/common-utils.js';
import {LanguageKey} from '../types/languages.interfaces.js'; import {LanguageKey} from '../types/languages.interfaces.js';
import {assert, unwrapString} from './assert.js';
import * as colour from './colour.js'; import * as colour from './colour.js';
import {AppTheme, ColourScheme, ColourSchemeInfo} from './colour.js'; import {AppTheme, ColourScheme, ColourSchemeInfo} from './colour.js';
import {EventHub} from './event-hub.js'; import {EventHub} from './event-hub.js';

View File

@@ -27,7 +27,7 @@ import ClipboardJS from 'clipboard';
import GoldenLayout from 'golden-layout'; import GoldenLayout from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap} from './assert.js'; import {unwrap} from '../shared/assert.js';
import * as BootstrapUtils from './bootstrap-utils.js'; import * as BootstrapUtils from './bootstrap-utils.js';
import {sessionThenLocalStorage} from './local.js'; import {sessionThenLocalStorage} from './local.js';
import {options} from './options.js'; import {options} from './options.js';

View File

@@ -25,10 +25,9 @@
import GoldenLayout from 'golden-layout'; import GoldenLayout from 'golden-layout';
import lzstring from 'lz-string'; import lzstring from 'lz-string';
import _ from 'underscore'; import _ from 'underscore';
import * as rison from '../shared/rison.js';
import * as Components from './components.js'; import * as Components from './components.js';
import * as rison from './rison.js';
export function convertOldState(state: any): any { export function convertOldState(state: any): any {
const sc = state.compilers[0]; const sc = state.compilers[0];
if (!sc) throw new Error('Unable to determine compiler from old state'); if (!sc) throw new Error('Unable to determine compiler from old state');

View File

@@ -23,6 +23,7 @@
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import $ from 'jquery'; import $ from 'jquery';
import {assert, unwrap} from '../../shared/assert.js';
import { import {
CompilerOverrideType, CompilerOverrideType,
ConfiguredOverride, ConfiguredOverride,
@@ -30,7 +31,6 @@ import {
EnvVarOverrides, EnvVarOverrides,
} from '../../types/compilation/compiler-overrides.interfaces.js'; } from '../../types/compilation/compiler-overrides.interfaces.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {assert, unwrap} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {localStorage} from '../local.js'; import {localStorage} from '../local.js';
import {options} from '../options.js'; import {options} from '../options.js';

View File

@@ -24,10 +24,9 @@
import * as sifter from '@orchidjs/sifter'; import * as sifter from '@orchidjs/sifter';
import $ from 'jquery'; import $ from 'jquery';
import {unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML, intersection, remove, unique} from '../../shared/common-utils.js'; import {escapeHTML, intersection, remove, unique} from '../../shared/common-utils.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap, unwrapString} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {CompilerService} from '../compiler-service.js'; import {CompilerService} from '../compiler-service.js';
import {highlight} from '../highlight.js'; import {highlight} from '../highlight.js';

View File

@@ -24,9 +24,8 @@
import $ from 'jquery'; import $ from 'jquery';
import TomSelect from 'tom-select'; import TomSelect from 'tom-select';
import {unwrap} from '../../shared/assert.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import {unwrap} from '../assert.js';
import {CompilerService} from '../compiler-service.js'; import {CompilerService} from '../compiler-service.js';
import {EventHub} from '../event-hub.js'; import {EventHub} from '../event-hub.js';
import {Hub} from '../hub.js'; import {Hub} from '../hub.js';

View File

@@ -25,7 +25,7 @@
import $ from 'jquery'; import $ from 'jquery';
import {editor} from 'monaco-editor'; import {editor} from 'monaco-editor';
import {pluck} from 'underscore'; import {pluck} from 'underscore';
import {unwrap} from '../assert.js'; import {unwrap} from '../../shared/assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {EditorSource, HistoryEntry, sortedList} from '../history.js'; import {EditorSource, HistoryEntry, sortedList} from '../history.js';

View File

@@ -23,7 +23,7 @@
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import $ from 'jquery'; import $ from 'jquery';
import {unwrapString} from '../assert.js'; import {unwrapString} from '../../shared/assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {localStorage} from '../local.js'; import {localStorage} from '../local.js';
import {Library, LibraryVersion} from '../options.interfaces.js'; import {Library, LibraryVersion} from '../options.interfaces.js';

View File

@@ -25,10 +25,10 @@
import {saveAs} from 'file-saver'; import {saveAs} from 'file-saver';
import $ from 'jquery'; import $ from 'jquery';
import _ from 'underscore'; import _ from 'underscore';
import {unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import {Language} from '../../types/languages.interfaces.js'; import {Language} from '../../types/languages.interfaces.js';
import {SourceApiEntry} from '../../types/source.interfaces.js'; import {SourceApiEntry} from '../../types/source.interfaces.js';
import {unwrap, unwrapString} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import * as history from '../history.js'; import * as history from '../history.js';
import {HistorySource} from '../history.js'; import {HistorySource} from '../history.js';

View File

@@ -23,6 +23,7 @@
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
import $ from 'jquery'; import $ from 'jquery';
import {assert} from '../../shared/assert.js';
import {CompilerInfo} from '../../types/compiler.interfaces.js'; import {CompilerInfo} from '../../types/compiler.interfaces.js';
import { import {
ConfiguredRuntimeTool, ConfiguredRuntimeTool,
@@ -32,7 +33,6 @@ import {
RuntimeToolOptions, RuntimeToolOptions,
RuntimeToolType, RuntimeToolType,
} from '../../types/execution/execution.interfaces.js'; } from '../../types/execution/execution.interfaces.js';
import {assert} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {localStorage} from '../local.js'; import {localStorage} from '../local.js';
import {options} from '../options.js'; import {options} from '../options.js';

View File

@@ -24,9 +24,9 @@
import GoldenLayout from 'golden-layout'; import GoldenLayout from 'golden-layout';
import $ from 'jquery'; import $ from 'jquery';
import {assert, unwrap, unwrapString} from '../../shared/assert.js';
import {escapeHTML} from '../../shared/common-utils.js'; import {escapeHTML} from '../../shared/common-utils.js';
import {SiteTemplateConfiguration, UserSiteTemplate} from '../../types/features/site-templates.interfaces.js'; import {SiteTemplateConfiguration, UserSiteTemplate} from '../../types/features/site-templates.interfaces.js';
import {assert, unwrap, unwrapString} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {localStorage} from '../local.js'; import {localStorage} from '../local.js';
import {Settings} from '../settings.js'; import {Settings} from '../settings.js';

View File

@@ -24,9 +24,9 @@
import {Chart, ChartData, defaults} from 'chart.js'; import {Chart, ChartData, defaults} from 'chart.js';
import $ from 'jquery'; import $ from 'jquery';
import {unwrap} from '../../shared/assert.js';
import {isString} from '../../shared/common-utils.js'; import {isString} from '../../shared/common-utils.js';
import {CompilationResult} from '../../types/compilation/compilation.interfaces.js'; import {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import {unwrap} from '../assert.js';
import * as BootstrapUtils from '../bootstrap-utils.js'; import * as BootstrapUtils from '../bootstrap-utils.js';
import {Settings} from '../settings.js'; import {Settings} from '../settings.js';
import 'chart.js/auto'; import 'chart.js/auto';

View File

@@ -1,6 +1,6 @@
import {describe, expect, it} from 'vitest'; import {describe, expect, it} from 'vitest';
import * as rison from '../static/rison.js'; import * as rison from '../shared/rison.js';
// Copied from https://github.com/Nanonid/rison/blob/master/python/rison/tests.py // Copied from https://github.com/Nanonid/rison/blob/master/python/rison/tests.py
const py_testcases = { const py_testcases = {