fix lint errors

This commit is contained in:
2022-11-18 01:23:24 +01:00
parent 40fef38017
commit aad9dd3482
9 changed files with 50 additions and 45 deletions

View File

@@ -1,11 +1,10 @@
<script> <script>
import { RouterLink, RouterView } from 'vue-router';
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
import Help from './components/Help.vue'; import HelpModal from './components/HelpModal.vue';
export default defineComponent({ export default defineComponent({
components: { components: {
Help, HelpModal,
}, },
data() { data() {
window.addEventListener('keydown', e => { window.addEventListener('keydown', e => {
@@ -44,6 +43,6 @@ export default defineComponent({
</style> </style>
<template> <template>
<Help :visible="showHelp" @close="showHelp = false" /> <HelpModal :visible="showHelp" @close="showHelp = false" />
<RouterView /> <RouterView />
</template> </template>

View File

@@ -6,10 +6,10 @@ import { javascript } from '@codemirror/lang-javascript'
import { oneDark } from '@codemirror/theme-one-dark' import { oneDark } from '@codemirror/theme-one-dark'
export default defineComponent({ export default defineComponent({
name: 'Code', name: 'CodeEditor',
props: [ props: {
'code', code: String,
], },
components: { components: {
Codemirror, Codemirror,
}, },
@@ -23,16 +23,16 @@ export default defineComponent({
}; };
// Status is available at all times via Codemirror EditorView // Status is available at all times via Codemirror EditorView
const getCodemirrorStates = () => { // const getCodemirrorStates = () => {
const state = view.value.state; // const state = view.value.state;
const ranges = state.selection.ranges; // const ranges = state.selection.ranges;
const selected = ranges.reduce((r, range) => r + range.to - range.from, 0); // const selected = ranges.reduce((r, range) => r + range.to - range.from, 0);
const cursor = ranges[0].anchor; // const cursor = ranges[0].anchor;
const length = state.doc.length; // const length = state.doc.length;
const lines = state.doc.lines; // const lines = state.doc.lines;
// more state info ... // // more state info ...
// return ... // // return ...
} // }
return { return {
extensions, extensions,
@@ -62,7 +62,7 @@ export default defineComponent({
<template> <template>
<div class="code"> <div class="code">
<codemirror <codemirror
v-model="code.value" :modelValue="code"
placeholder="Code goes here..." placeholder="Code goes here..."
:style="{ height: '100%' }" :style="{ height: '100%' }"
:autofocus="true" :autofocus="true"

View File

@@ -2,7 +2,7 @@
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
export default defineComponent({ export default defineComponent({
name: 'Help', name: 'HelpModal',
props: { props: {
visible: Boolean, visible: Boolean,
}, },
@@ -13,7 +13,7 @@ export default defineComponent({
$padding: 12px; $padding: 12px;
.help { .help-modal {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
@@ -79,7 +79,7 @@ $padding: 12px;
<template> <template>
<div <div
class="help" class="help-modal"
:class="{ visible: this.visible }" :class="{ visible: this.visible }"
@click="$emit('close')" @click="$emit('close')"
> >

View File

@@ -3,22 +3,22 @@ import { defineComponent } from 'vue';
import settingsService from '../services/settingsService'; import settingsService from '../services/settingsService';
export default defineComponent({ export default defineComponent({
name: 'Result', name: 'ResultCode',
props: [ props: [
'data' 'data'
], ],
watch: { watch: {
data(val) { data() {
if (!settingsService.getItem('autoScroll')) return; if (!settingsService.getItem('autoScroll')) return;
const pre = this.$refs.pre; const div = this.$refs.div;
setTimeout(() => pre.scrollTo(0, pre.scrollHeight), 1); setTimeout(() => div.scrollTo(0, div.scrollHeight), 1);
}, },
} }
}); });
</script> </script>
<style scoped> <style scoped>
.result { .result-code {
overflow-x: auto; overflow-x: auto;
overflow-y: auto; overflow-y: auto;
margin: 0; margin: 0;
@@ -32,7 +32,7 @@ export default defineComponent({
</style> </style>
<template> <template>
<div class="result" ref="pre"> <div class="result-code" ref="div">
<pre class="selectable">{{ data }}</pre> <pre class="selectable">{{ data }}</pre>
</div> </div>
</template> </template>

View File

@@ -1,7 +1,7 @@
import { stringify } from 'javascript-stringify'; import { stringify } from 'javascript-stringify';
import { MAX_DATA_SIZE } from './app.config'; import { MAX_DATA_SIZE } from './app.config';
import { getType } from '@gkucmierz/utils/src/get-type'; // import { getType } from '@gkucmierz/utils/src/get-type';
import { addDefaultLog } from './utils/utils'; import { addDefaultLog } from './utils/utils';
@@ -39,9 +39,9 @@ const throttledPM = (() => {
if (tryAgain) { if (tryAgain) {
const nextTick = fn => setTimeout(fn, 0); const nextTick = fn => setTimeout(fn, 0);
const tryAgainFn = _ => throttledPM([][0], false, false); const tryAgainFn = () => throttledPM([][0], false, false);
// try push data asap // try push data asap
setTimeout(tryAgainFn, 0); nextTick(tryAgainFn);
// try push possibly cached data for async code // try push possibly cached data for async code
setTimeout(tryAgainFn, updateDelay); setTimeout(tryAgainFn, updateDelay);
} }

View File

@@ -1,5 +1,5 @@
import EventEmitter from 'eventemitter3'; // import EventEmitter from 'eventemitter3';
import { STORAGE_KEY_SETTINGS } from '../app.config'; import { STORAGE_KEY_SETTINGS } from '../app.config';
// const ee = new EventEmitter(); // const ee = new EventEmitter();

View File

@@ -1,8 +1,8 @@
<script> <script>
import { WELCOME_CODE, STORAGE_KEY_CODE } from '../app.config'; import { WELCOME_CODE, STORAGE_KEY_CODE } from '../app.config';
import Result from '../components/Result.vue'; import ResultCode from '../components/ResultCode.vue';
import Code from '../components/Code.vue'; import CodeEditor from '../components/CodeEditor.vue';
import settingsService from '../services/settingsService'; import settingsService from '../services/settingsService';
import Worker from '../file.worker.js?worker'; import Worker from '../file.worker.js?worker';
@@ -12,16 +12,17 @@ import Worker from '../file.worker.js?worker';
import Splitter from 'primevue/splitter'; import Splitter from 'primevue/splitter';
import SplitterPanel from 'primevue/splitterpanel'; import SplitterPanel from 'primevue/splitterpanel';
import { defineComponent, shallowRef } from 'vue'; import { defineComponent } from 'vue';
export default defineComponent({ export default defineComponent({
components: { components: {
Splitter, SplitterPanel, Splitter, SplitterPanel,
Result, Code, ResultCode, CodeEditor,
}, },
data() { data() {
const lsCode = localStorage.getItem(STORAGE_KEY_CODE); const lsCode = localStorage.getItem(STORAGE_KEY_CODE);
const code = { value: lsCode ? lsCode : WELCOME_CODE }; // const code = { value: lsCode ? lsCode : WELCOME_CODE };
const code = lsCode ? lsCode : WELCOME_CODE;
return { return {
code, code,
@@ -30,7 +31,8 @@ export default defineComponent({
} }
}, },
mounted() { mounted() {
this.run(this.code.value); // this.run(this.code.value);
this.run(this.code);
}, },
methods: { methods: {
save(code) { save(code) {
@@ -90,10 +92,10 @@ main {
<main> <main>
<Splitter style="height: 100%" :step="50" :gutterSize="8" layout="horizontal"> <Splitter style="height: 100%" :step="50" :gutterSize="8" layout="horizontal">
<SplitterPanel class="left-pane"> <SplitterPanel class="left-pane">
<Code :code="code" @change="change($event)"/> <CodeEditor :code="code" @change="change($event)"/>
</SplitterPanel> </SplitterPanel>
<SplitterPanel class="right-pane"> <SplitterPanel class="right-pane">
<Result :data="result"/> <ResultCode :data="result"/>
</SplitterPanel> </SplitterPanel>
</Splitter> </Splitter>
</main> </main>

View File

@@ -33,7 +33,9 @@ export default defineComponent({
watch: { watch: {
so: { so: {
deep: true, deep: true,
handler: val => settingsService.set(val), handler(val) {
settingsService.set(val);
},
}, },
}, },
mounted() { mounted() {

View File

@@ -3,7 +3,9 @@ import { fileURLToPath, URL } from 'node:url';
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; import vue from '@vitejs/plugin-vue';
import { VitePWA } from 'vite-plugin-pwa'; import { VitePWA } from 'vite-plugin-pwa';
import packageJson from './package.json' assert { type: 'json' }; // import packageJSON from './package.json' assert { type: 'json' };
import { readFileSync } from 'fs';
const packageJSON = JSON.parse(readFileSync('./package.json'));
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
@@ -24,9 +26,9 @@ export default defineConfig({
start_url: '/', start_url: '/',
scope: '/', scope: '/',
display: 'standalone', display: 'standalone',
name: packageJson.name, name: packageJSON.name,
short_name: packageJson.name, short_name: packageJSON.name,
description: packageJson.description, description: packageJSON.description,
background_color: '#282C34', background_color: '#282C34',
theme_color: '#7ACED7', theme_color: '#7ACED7',
id: '/', id: '/',