Skip to content

Commit 2c3c2d0

Browse files
authored
fix(repl): Minor fixes (#478)
* Update deps * Update deps, rename capitalicase * Add changeset
1 parent 3fd8529 commit 2c3c2d0

File tree

10 files changed

+173
-171
lines changed

10 files changed

+173
-171
lines changed

.changeset/fresh-countries-hear.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/repl': patch
3+
---
4+
5+
Minor fixes

packages/repl/package.json

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
{
22
"name": "@sveltejs/repl",
33
"version": "0.5.0-next.2",
4-
"scripts": {
5-
"dev": "vite dev",
6-
"build": "vite build && npm run package",
7-
"preview": "vite preview",
8-
"package": "svelte-kit sync && svelte-package && publint",
9-
"watch": "svelte-package --watch",
10-
"prepublishOnly": "npm run package",
11-
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
12-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch"
4+
"license": "MIT",
5+
"publishConfig": {
6+
"access": "public"
137
},
8+
"svelte": "./dist/index.js",
9+
"types": "./dist/index.d.ts",
10+
"type": "module",
1411
"exports": {
1512
"./package.json": "./package.json",
1613
".": {
@@ -29,50 +26,56 @@
2926
"files": [
3027
"dist"
3128
],
29+
"scripts": {
30+
"dev": "vite dev",
31+
"build": "vite build && npm run package",
32+
"preview": "vite preview",
33+
"package": "svelte-kit sync && svelte-package && publint",
34+
"watch": "svelte-package --watch",
35+
"prepublishOnly": "npm run package",
36+
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
37+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch"
38+
},
3239
"peerDependencies": {
3340
"svelte": "^3.54.0"
3441
},
3542
"devDependencies": {
3643
"@fontsource/fira-mono": "^4.5.10",
37-
"@playwright/test": "^1.33.0",
3844
"@sveltejs/adapter-auto": "^2.0.1",
39-
"@sveltejs/kit": "^1.15.10",
45+
"@sveltejs/kit": "^1.16.3",
4046
"@sveltejs/package": "^2.0.2",
4147
"@types/marked": "^4.3.0",
4248
"publint": "^0.1.11",
43-
"svelte": "^3.58.0",
44-
"svelte-check": "^3.2.0",
49+
"svelte": "^3.59.1",
50+
"svelte-check": "^3.3.2",
4551
"tslib": "^2.5.0",
4652
"typescript": "^5.0.4",
47-
"vite": "^4.3.4"
53+
"vite": "^4.3.5"
4854
},
4955
"dependencies": {
50-
"@codemirror/autocomplete": "^6.6.0",
51-
"@codemirror/commands": "^6.2.3",
56+
"@codemirror/autocomplete": "^6.7.0",
57+
"@codemirror/commands": "^6.2.4",
5258
"@codemirror/lang-css": "^6.2.0",
5359
"@codemirror/lang-javascript": "^6.1.7",
5460
"@codemirror/lang-json": "^6.0.1",
5561
"@codemirror/lang-markdown": "^6.1.1",
5662
"@codemirror/language": "^6.6.0",
5763
"@codemirror/lint": "^6.2.1",
5864
"@codemirror/state": "^6.2.0",
59-
"@codemirror/view": "^6.10.1",
65+
"@codemirror/view": "^6.11.1",
6066
"@jridgewell/sourcemap-codec": "^1.4.15",
6167
"@lezer/highlight": "^1.1.4",
6268
"@neocodemirror/svelte": "0.0.8",
6369
"@replit/codemirror-lang-svelte": "^6.0.0",
6470
"@rich_harris/svelte-split-pane": "^1.1.0",
65-
"@rollup/browser": "^3.21.3",
71+
"@rollup/browser": "^3.21.6",
6672
"@sveltejs/site-kit": "5.0.4",
6773
"acorn": "^8.8.2",
6874
"codemirror": "^6.0.1",
6975
"esm-env": "^1.0.0",
7076
"estree-walker": "^3.0.3",
71-
"marked": "^5.0.0",
77+
"marked": "^5.0.2",
7278
"resolve.exports": "^2.0.2",
7379
"svelte-json-tree": "^1.0.0"
74-
},
75-
"svelte": "./dist/index.js",
76-
"types": "./dist/index.d.ts",
77-
"type": "module"
80+
}
7881
}

packages/repl/src/lib/Input/ModuleEditor.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
}
3131
}
3232
33-
$: diagnostics =
33+
$: diagnostics = /** @type {import('@codemirror/lint').Diagnostics[]} */ (
3434
$selected && error_file === get_full_filename($selected)
3535
? [
3636
...(error
@@ -50,7 +50,8 @@
5050
message: warning.message
5151
}))
5252
]
53-
: [];
53+
: []
54+
);
5455
</script>
5556
5657
<div class="editor-wrapper">

packages/repl/src/lib/Repl.svelte

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<script>
22
import { SplitPane } from '@rich_harris/svelte-split-pane';
33
import { BROWSER } from 'esm-env';
4-
import { createEventDispatcher, tick } from 'svelte';
4+
import { createEventDispatcher } from 'svelte';
55
import Bundler from './Bundler';
6+
import ComponentSelector from './Input/ComponentSelector.svelte';
7+
import ModuleEditor from './Input/ModuleEditor.svelte';
68
import InputOutputToggle from './InputOutputToggle.svelte';
7-
import ComponentSelector from './input/ComponentSelector.svelte';
8-
import ModuleEditor from './input/ModuleEditor.svelte';
9-
import Output from './output/Output.svelte';
9+
import Output from './Output/Output.svelte';
1010
import {
1111
EDITOR_STATE_MAP,
1212
bundle,
@@ -106,7 +106,7 @@
106106
const dispatch = createEventDispatcher();
107107
108108
$: if ($output && $selected) {
109-
$output?.update($selected, $compile_options);
109+
$output?.update?.($selected, $compile_options);
110110
}
111111
112112
$: mobile = width < 540;
@@ -149,10 +149,6 @@
149149
})
150150
: null;
151151
152-
$: if (output && $selected) {
153-
$output?.update($selected, $compile_options);
154-
}
155-
156152
/**
157153
* @param {BeforeUnloadEvent} event
158154
*/

packages/repl/src/lib/types.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,5 @@ export type ReplState = {
5555
cursor_pos: number;
5656
toggleable: boolean;
5757
module_editor: import('./CodeMirror.svelte').default | null;
58-
output: import('./output/Output.svelte').default | null;
58+
output: import('./Output/Output.svelte').default | null;
5959
};

packages/repl/src/lib/workers/bundler/plugins/commonjs.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,24 @@ export default {
1616
try {
1717
const ast = parse(code, {
1818
// for some reason this hangs for some code if you use 'latest'. change with caution
19-
ecmaVersion: 'latest',
19+
ecmaVersion: 'latest'
2020
});
2121

22+
/** @type {string[]} */
2223
const requires = [];
2324

25+
// @ts-ignore
2426
walk(ast, {
2527
enter: (node) => {
28+
// @ts-ignore
2629
if (node.type === 'CallExpression' && node.callee.name === 'require') {
2730
if (node.arguments.length !== 1) return;
2831
const arg = node.arguments[0];
2932
if (arg.type !== 'Literal' || typeof arg.value !== 'string') return;
3033

3134
requires.push(arg.value);
3235
}
33-
},
36+
}
3437
});
3538

3639
const imports = requires.map((id, i) => `import __repl_${i} from '${id}';`).join('\n');
@@ -44,15 +47,15 @@ export default {
4447
require,
4548
`const exports = {}; const module = { exports };`,
4649
code,
47-
`export default module.exports;`,
50+
`export default module.exports;`
4851
].join('\n\n');
4952

5053
return {
5154
code: transformed,
52-
map: null,
55+
map: null
5356
};
5457
} catch (err) {
5558
return null;
5659
}
57-
},
60+
}
5861
};

packages/repl/src/lib/workers/bundler/plugins/glsl.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export default {
66

77
return {
88
code: `export default ${JSON.stringify(code)};`,
9-
map: null,
9+
map: null
1010
};
11-
},
11+
}
1212
};

packages/repl/src/lib/workers/bundler/plugins/json.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export default {
66

77
return {
88
code: `export default ${code};`,
9-
map: null,
9+
map: null
1010
};
11-
},
11+
}
1212
};

packages/repl/src/lib/workers/bundler/plugins/replace.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
/** @param {string} str */
12
function escape(str) {
23
return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
34
}
45

6+
/** @param {unknown} functionOrValue */
57
function ensureFunction(functionOrValue) {
68
if (typeof functionOrValue === 'function') {
79
return functionOrValue;
@@ -11,17 +13,29 @@ function ensureFunction(functionOrValue) {
1113
};
1214
}
1315

16+
/**
17+
* @param {string} a
18+
* @param {string} b
19+
*/
1420
function longest(a, b) {
1521
return b.length - a.length;
1622
}
1723

24+
/** @param {Record<string, unknown>} object */
1825
function mapToFunctions(object) {
19-
return Object.keys(object).reduce(function (functions, key) {
20-
functions[key] = ensureFunction(object[key]);
21-
return functions;
22-
}, {});
26+
return Object.keys(object).reduce(
27+
/** @param {Record<string, Function>} functions */ function (functions, key) {
28+
functions[key] = ensureFunction(object[key]);
29+
return functions;
30+
},
31+
{}
32+
);
2333
}
2434

35+
/**
36+
* @param {Record<string, unknown>} options
37+
* @returns {import('@rollup/browser').Plugin}
38+
*/
2539
function replace(options) {
2640
const functionValues = mapToFunctions(options);
2741
const keys = Object.keys(functionValues).sort(longest).map(escape);
@@ -49,9 +63,9 @@ function replace(options) {
4963

5064
return {
5165
code,
52-
map: null,
66+
map: null
5367
};
54-
},
68+
}
5569
};
5670
}
5771

0 commit comments

Comments
 (0)