test.ts — svelte Source File
Architecture documentation for test.ts, a typescript file in the svelte codebase. 7 imports, 144 dependents.
Entity Profile
Dependency Diagram
graph LR 9ad2616a_f7be_f67c_79c2_34dda6d049e8["test.ts"] 2b655554_f9cf_daf9_c56b_a99baafbe0fd["suite.ts"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> 2b655554_f9cf_daf9_c56b_a99baafbe0fd 1354ddff_1efb_c4e4_5cd0_7b354ba0a9b4["suite"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> 1354ddff_1efb_c4e4_5cd0_7b354ba0a9b4 e97e8c41_1b06_4e9a_29f3_64dbb37dee3c["helpers.js"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> e97e8c41_1b06_4e9a_29f3_64dbb37dee3c bb4cfd90_903a_17e0_cd39_889d49aef9bb["read_file"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> bb4cfd90_903a_17e0_cd39_889d49aef9bb f596e027_a951_36c9_7695_83acc4f0d6b9["node:fs"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> f596e027_a951_36c9_7695_83acc4f0d6b9 b63ddb92_634c_990b_eb1b_0bad8a4d434e["vitest"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> b63ddb92_634c_990b_eb1b_0bad8a4d434e a8d49317_f479_a216_78e7_48c9e32499d5["compiler"] 9ad2616a_f7be_f67c_79c2_34dda6d049e8 --> a8d49317_f479_a216_78e7_48c9e32499d5 71782492_7b1e_cec4_828d_41a915245b70["_config.js"] 71782492_7b1e_cec4_828d_41a915245b70 --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 55ff88fe_70f5_3bf9_7600_808ac1250823["_config.js"] 55ff88fe_70f5_3bf9_7600_808ac1250823 --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 a95d18ec_6db2_f052_d811_bf1e206f2001["_config.js"] a95d18ec_6db2_f052_d811_bf1e206f2001 --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 43816d9d_8759_327a_5dff_9abe63d2953f["_config.js"] 43816d9d_8759_327a_5dff_9abe63d2953f --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 5b2db24b_afbe_4bd7_dd14_b76b999e0209["_config.js"] 5b2db24b_afbe_4bd7_dd14_b76b999e0209 --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 03990ac6_4f35_66c0_1a3b_9d99e639da6b["_config.js"] 03990ac6_4f35_66c0_1a3b_9d99e639da6b --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 d56ede13_36c4_a48c_a8ec_49ef52aa5e2f["_config.js"] d56ede13_36c4_a48c_a8ec_49ef52aa5e2f --> 9ad2616a_f7be_f67c_79c2_34dda6d049e8 style 9ad2616a_f7be_f67c_79c2_34dda6d049e8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import * as fs from 'node:fs';
import { assert, expect, it } from 'vitest';
import { compile, compileModule, type CompileError } from 'svelte/compiler';
import { suite, type BaseTest } from '../suite';
import { read_file } from '../helpers.js';
interface CompilerErrorTest extends BaseTest {
async?: boolean;
error: {
code: string;
message: string;
position?: [number, number];
};
}
/**
* Remove the "https://svelte.dev/e/..." link
*/
function strip_link(message: string) {
return message.slice(0, message.lastIndexOf('\n'));
}
const { test, run } = suite<CompilerErrorTest>((config, cwd) => {
if (!fs.existsSync(`${cwd}/main.svelte`) && !fs.existsSync(`${cwd}/main.svelte.js`)) {
throw new Error('Expected main.svelte or main.svelte.js');
}
if (fs.existsSync(`${cwd}/main.svelte`)) {
let caught_error = false;
try {
compile(read_file(`${cwd}/main.svelte`), {
generate: 'client',
experimental: { async: config.async ?? false }
});
} catch (e) {
const error = e as CompileError;
caught_error = true;
expect(error.code).toBe(config.error.code);
expect(strip_link(error.message)).toBe(config.error.message);
if (config.error.position) {
expect(error.position).toEqual(config.error.position);
}
}
if (!caught_error) {
assert.fail('Expected an error');
}
}
if (fs.existsSync(`${cwd}/main.svelte.js`)) {
let caught_error = false;
try {
compileModule(read_file(`${cwd}/main.svelte.js`), {
generate: 'client'
});
} catch (e) {
const error = e as CompileError;
caught_error = true;
expect(error.code).toEqual(config.error.code);
expect(strip_link(error.message)).toEqual(config.error.message);
if (config.error.position) {
expect(error.position).toEqual(config.error.position);
}
}
if (!caught_error) {
assert.fail('Expected an error');
}
}
});
export { test };
await run(__dirname);
it('resets the compiler state including filename', () => {
// start with something that succeeds
compile('<div>hello</div>', { filename: 'foo.svelte' });
// then try something that fails in the parsing stage
try {
compile('<p>hello<div>invalid</p>', { filename: 'bar.svelte' });
expect.fail('Expected an error');
} catch (e: any) {
expect(e.toString()).toContain('bar.svelte');
}
});
Domain
Subdomains
Functions
Types
Dependencies
- compiler
- helpers.js
- node:fs
- read_file
- suite
- suite.ts
- vitest
Imported By
- packages/svelte/tests/compiler-errors/samples/attribute-empty/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-sequence-expression-2/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-unique/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-unique-binding/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-unique-class/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-unique-shorthand/_config.js
- packages/svelte/tests/compiler-errors/samples/attribute-unique-style/_config.js
- packages/svelte/tests/compiler-errors/samples/catch-before-closing/_config.js
- packages/svelte/tests/compiler-errors/samples/catch-without-await/_config.js
- packages/svelte/tests/compiler-errors/samples/class-state-field-static/_config.js
- packages/svelte/tests/compiler-errors/samples/comment-unclosed/_config.js
- packages/svelte/tests/compiler-errors/samples/component-invalid-name/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error-2/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error-3/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error-4/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error-5/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-duplicate-error-6/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-nested-error/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-nested-error-2/_config.js
- packages/svelte/tests/compiler-errors/samples/component-slot-nested-error-3/_config.js
- packages/svelte/tests/compiler-errors/samples/const-tag-cyclical/_config.js
- packages/svelte/tests/compiler-errors/samples/const-tag-sequence/_config.js
- packages/svelte/tests/compiler-errors/samples/const-tag-snippet-invalid-reference-1/_config.js
- packages/svelte/tests/compiler-errors/samples/const-tag-snippet-invalid-reference-2/_config.js
- packages/svelte/tests/compiler-errors/samples/const-tag-whitespace/_config.js
- packages/svelte/tests/compiler-errors/samples/css/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-combinator/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-combinator-2/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-declaration/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-in-pseudoclass/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-multiple-1/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-block-multiple-2/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-modifier/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-modifier-start-1/_config.js
- packages/svelte/tests/compiler-errors/samples/css-global-modifier-start-2/_config.js
- packages/svelte/tests/compiler-errors/samples/css-nesting-selector-root/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-declaration-legacy/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-declaration-runes/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-declaration-runes-2/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-global/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-global-js/_config.js
- packages/svelte/tests/compiler-errors/samples/dollar-binding-import/_config.js
- packages/svelte/tests/compiler-errors/samples/dynamic-element-binding-invalid/_config.js
- packages/svelte/tests/compiler-errors/samples/each-key-without-as/_config.js
- packages/svelte/tests/compiler-errors/samples/effect-active-rune/_config.js
- packages/svelte/tests/compiler-errors/samples/element-invalid-name/_config.js
- packages/svelte/tests/compiler-errors/samples/else-before-closing/_config.js
- packages/svelte/tests/compiler-errors/samples/else-before-closing-2/_config.js
- packages/svelte/tests/compiler-errors/samples/else-before-closing-3/_config.js
- packages/svelte/tests/compiler-errors/samples/else-if-before-closing/_config.js
- packages/svelte/tests/compiler-errors/samples/else-if-before-closing-2/_config.js
- packages/svelte/tests/compiler-errors/samples/else-if-without-if/_config.js
- packages/svelte/tests/compiler-errors/samples/empty-attribute-shorthand/_config.js
- packages/svelte/tests/compiler-errors/samples/empty-classname-binding/_config.js
- packages/svelte/tests/compiler-errors/samples/empty-directive-name/_config.js
- packages/svelte/tests/compiler-errors/samples/export-default-derived-state-indirect/_config.js
- packages/svelte/tests/compiler-errors/samples/export-default-state-indirect/_config.js
- packages/svelte/tests/compiler-errors/samples/export-derived-state/_config.js
- packages/svelte/tests/compiler-errors/samples/export-derived-state-indirect/_config.js
- packages/svelte/tests/compiler-errors/samples/export-not-defined-module/_config.js
- packages/svelte/tests/compiler-errors/samples/export-state/_config.js
- packages/svelte/tests/compiler-errors/samples/export-state-indirect/_config.js
- packages/svelte/tests/compiler-errors/samples/export-state-module/_config.js
- packages/svelte/tests/compiler-errors/samples/illegal-expression/_config.js
- packages/svelte/tests/compiler-errors/samples/invalid-arguments-usage/_config.js
- packages/svelte/tests/compiler-errors/samples/invalid-rune-name/_config.js
- packages/svelte/tests/compiler-errors/samples/invalid-rune-name-shadowed/_config.js
- packages/svelte/tests/compiler-errors/samples/invalid-snippet-binding/_config.js
- packages/svelte/tests/compiler-errors/samples/invalid-snippet-mutation/_config.js
- packages/svelte/tests/compiler-errors/samples/legacy-no-const-assignment/_config.js
- packages/svelte/tests/compiler-errors/samples/legacy-no-const-update/_config.js
- packages/svelte/tests/compiler-errors/samples/malformed-snippet/_config.js
- packages/svelte/tests/compiler-errors/samples/malformed-snippet-2/_config.js
- packages/svelte/tests/compiler-errors/samples/multiple-styles/_config.js
- packages/svelte/tests/compiler-errors/samples/options-children/_config.js
- packages/svelte/tests/compiler-errors/samples/raw-mustaches-whitespace/_config.js
- packages/svelte/tests/compiler-errors/samples/render-tag-invalid-call/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-before-after-update/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-bindable-not-called/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-duplicate-props/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-export-let/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-export-named-state/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-invalid-each-binding/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-invalid-each-binding-this/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-invalid-each-mutation/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-module-store-subscription/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-no-const-assignment/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-no-const-update/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-no-rune-each/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-props-illegal-name-1/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-props-illegal-name-2/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-props-not-called/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-bindable-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-bindable-placement/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-derived-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-derived-placement/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-effect-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-effect-placement/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-host-placement/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-props-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-props-placement-instance/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-props-placement-module/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-state-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-state-placement/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-state-raw-args/_config.js
- packages/svelte/tests/compiler-errors/samples/runes-wrong-state-snapshot-args/_config.js
- packages/svelte/tests/compiler-errors/samples/script-unclosed/_config.js
- packages/svelte/tests/compiler-errors/samples/script-unclosed-eof/_config.js
- packages/svelte/tests/compiler-errors/samples/self-reference/_config.js
- packages/svelte/tests/compiler-errors/samples/slot-conflicting-with-render-tag/_config.js
- packages/svelte/tests/compiler-errors/samples/snippet-children-conflict/_config.js
- packages/svelte/tests/compiler-errors/samples/snippet-invalid-export/_config.js
- packages/svelte/tests/compiler-errors/samples/snippet-rest-args/_config.js
- packages/svelte/tests/compiler-errors/samples/store-autosub-context-module/_config.js
- packages/svelte/tests/compiler-errors/samples/store-contextual/_config.js
- packages/svelte/tests/compiler-errors/samples/store-global-disallowed/_config.js
- packages/svelte/tests/compiler-errors/samples/store-prevent-user-declarations/_config.js
- packages/svelte/tests/compiler-errors/samples/store-shadow-scope/_config.js
- packages/svelte/tests/compiler-errors/samples/store-shadow-scope-2/_config.js
- packages/svelte/tests/compiler-errors/samples/store-shadow-scope-3/_config.js
- packages/svelte/tests/compiler-errors/samples/store-template-expression-scope/_config.js
- packages/svelte/tests/compiler-errors/samples/style-unclosed/_config.js
- packages/svelte/tests/compiler-errors/samples/style-unclosed-eof/_config.js
- packages/svelte/tests/compiler-errors/samples/svelte-internal-import/_config.js
- packages/svelte/tests/compiler-errors/samples/svelte-selfdestructive/_config.js
- packages/svelte/tests/compiler-errors/samples/then-before-closing/_config.js
- packages/svelte/tests/compiler-errors/samples/then-without-await/_config.js
- packages/svelte/tests/compiler-errors/samples/unbalanced-curly-component/_config.js
- packages/svelte/tests/compiler-errors/samples/unbalanced-curly-element/_config.js
- packages/svelte/tests/compiler-errors/samples/unclosed-attribute-self-close-tag/_config.js
- packages/svelte/tests/compiler-errors/samples/unexpected-end-of-input/_config.js
- packages/svelte/tests/compiler-errors/samples/unexpected-end-of-input-b/_config.js
- packages/svelte/tests/compiler-errors/samples/unexpected-end-of-input-c/_config.js
- packages/svelte/tests/compiler-errors/samples/unexpected-end-of-input-d/_config.js
- packages/svelte/tests/compiler-errors/samples/unmatched-closing-tag/_config.js
- packages/svelte/tests/compiler-errors/samples/unmatched-closing-tag-autoclose/_config.js
- packages/svelte/tests/compiler-errors/samples/unmatched-closing-tag-autoclose-2/_config.js
- packages/svelte/tests/compiler-errors/samples/void-closing/_config.js
- packages/svelte/tests/compiler-errors/samples/window-children/_config.js
- packages/svelte/tests/compiler-errors/samples/window-duplicate/_config.js
- packages/svelte/tests/compiler-errors/samples/window-inside-block/_config.js
- packages/svelte/tests/compiler-errors/samples/window-inside-element/_config.js
Source
Frequently Asked Questions
What does test.ts do?
test.ts is a source file in the svelte codebase, written in typescript. It belongs to the BuildSystem domain, QualityControl subdomain.
What functions are defined in test.ts?
test.ts defines 1 function(s): strip_link.
What does test.ts depend on?
test.ts imports 7 module(s): compiler, helpers.js, node:fs, read_file, suite, suite.ts, vitest.
What files import test.ts?
test.ts is imported by 144 file(s): _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, and 136 more.
Where is test.ts in the architecture?
test.ts is located at packages/svelte/tests/compiler-errors/test.ts (domain: BuildSystem, subdomain: QualityControl, directory: packages/svelte/tests/compiler-errors).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free