diff --git a/frontend/.eslintrc b/frontend/.eslintrc
new file mode 100644
index 0000000..173599e
--- /dev/null
+++ b/frontend/.eslintrc
@@ -0,0 +1,12 @@
+{
+ "extends": [
+ "plugin:vue/vue3-recommended",
+ "plugin:prettier-vue/recommended",
+ "@vue/typescript/recommended",
+ "prettier"
+ ],
+ "rules": {
+ "@typescript-eslint/explicit-module-boundary-types": [0],
+ "vue/multi-word-component-names": 0
+ }
+}
diff --git a/frontend/.gitignore b/frontend/.gitignore
index d451ff1..4197962 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -3,3 +3,6 @@ node_modules
dist
dist-ssr
*.local
+
+.yarn/install-state.gz
+public/*.wasm
diff --git a/frontend/.prettierrc b/frontend/.prettierrc
new file mode 100644
index 0000000..92cde39
--- /dev/null
+++ b/frontend/.prettierrc
@@ -0,0 +1,3 @@
+{
+ "singleQuote": true
+}
\ No newline at end of file
diff --git a/frontend/.vscode/extensions.json b/frontend/.vscode/extensions.json
deleted file mode 100644
index 3dc5b08..0000000
--- a/frontend/.vscode/extensions.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "recommendations": ["johnsoncodehk.volar"]
-}
diff --git a/frontend/.yarn/install-state.gz b/frontend/.yarn/install-state.gz
deleted file mode 100644
index 74ba14e..0000000
Binary files a/frontend/.yarn/install-state.gz and /dev/null differ
diff --git a/frontend/index.html b/frontend/index.html
index 9b1bade..20508c1 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -8,8 +8,9 @@
NVLS | Covergen
-
+
+
diff --git a/frontend/package.json b/frontend/package.json
index 8586163..289b612 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -4,17 +4,32 @@
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
- "preview": "vite preview"
+ "preview": "vite preview",
+ "lint": "yarn lint:ts && yarn lint:style",
+ "lint:ts": "vue-tsc --noEmit",
+ "lint:style": "eslint --ext .ts,.vue --ignore-path .gitignore .",
+ "lint:fix": "yarn lint:style --fix"
},
"dependencies": {
- "tailwindcss": "^3.0.15",
"@tailwindcss/forms": "^0.4.0",
+ "pinia": "^2.0.9",
+ "tailwindcss": "^3.0.15",
"vue": "^3.2.25"
},
"devDependencies": {
+ "@types/golang-wasm-exec": "^1.15.0",
+ "@types/node": "^17.0.10",
+ "@typescript-eslint/eslint-plugin": "^5.10.0",
+ "@typescript-eslint/parser": "^5.10.0",
"@vitejs/plugin-vue": "^2.0.0",
+ "@vue/eslint-config-typescript": "^10.0.0",
"autoprefixer": "^10.4.2",
+ "eslint": "^8.7.0",
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-prettier-vue": "^3.1.0",
+ "eslint-plugin-vue": "^8.3.0",
"postcss": "^8.4.5",
+ "prettier": "^2.5.1",
"typescript": "^4.4.4",
"vite": "^2.7.2",
"vue-tsc": "^0.29.8"
diff --git a/frontend/public/wasm_exec.js b/frontend/public/wasm_exec.js
new file mode 100644
index 0000000..48164c3
--- /dev/null
+++ b/frontend/public/wasm_exec.js
@@ -0,0 +1,633 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+(() => {
+ // Map multiple JavaScript environments to a single common API,
+ // preferring web standards over Node.js API.
+ //
+ // Environments considered:
+ // - Browsers
+ // - Node.js
+ // - Electron
+ // - Parcel
+ // - Webpack
+
+ if (typeof global !== "undefined") {
+ // global already exists
+ } else if (typeof window !== "undefined") {
+ window.global = window;
+ } else if (typeof self !== "undefined") {
+ self.global = self;
+ } else {
+ throw new Error("cannot export Go (neither global, window nor self is defined)");
+ }
+
+ if (!global.require && typeof require !== "undefined") {
+ global.require = require;
+ }
+
+ if (!global.fs && global.require) {
+ const fs = require("fs");
+ if (typeof fs === "object" && fs !== null && Object.keys(fs).length !== 0) {
+ global.fs = fs;
+ }
+ }
+
+ const enosys = () => {
+ const err = new Error("not implemented");
+ err.code = "ENOSYS";
+ return err;
+ };
+
+ if (!global.fs) {
+ let outputBuf = "";
+ global.fs = {
+ constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 }, // unused
+ writeSync(fd, buf) {
+ outputBuf += decoder.decode(buf);
+ const nl = outputBuf.lastIndexOf("\n");
+ if (nl != -1) {
+ console.log(outputBuf.substr(0, nl));
+ outputBuf = outputBuf.substr(nl + 1);
+ }
+ return buf.length;
+ },
+ write(fd, buf, offset, length, position, callback) {
+ if (offset !== 0 || length !== buf.length || position !== null) {
+ callback(enosys());
+ return;
+ }
+ const n = this.writeSync(fd, buf);
+ callback(null, n);
+ },
+ chmod(path, mode, callback) { callback(enosys()); },
+ chown(path, uid, gid, callback) { callback(enosys()); },
+ close(fd, callback) { callback(enosys()); },
+ fchmod(fd, mode, callback) { callback(enosys()); },
+ fchown(fd, uid, gid, callback) { callback(enosys()); },
+ fstat(fd, callback) { callback(enosys()); },
+ fsync(fd, callback) { callback(null); },
+ ftruncate(fd, length, callback) { callback(enosys()); },
+ lchown(path, uid, gid, callback) { callback(enosys()); },
+ link(path, link, callback) { callback(enosys()); },
+ lstat(path, callback) { callback(enosys()); },
+ mkdir(path, perm, callback) { callback(enosys()); },
+ open(path, flags, mode, callback) { callback(enosys()); },
+ read(fd, buffer, offset, length, position, callback) { callback(enosys()); },
+ readdir(path, callback) { callback(enosys()); },
+ readlink(path, callback) { callback(enosys()); },
+ rename(from, to, callback) { callback(enosys()); },
+ rmdir(path, callback) { callback(enosys()); },
+ stat(path, callback) { callback(enosys()); },
+ symlink(path, link, callback) { callback(enosys()); },
+ truncate(path, length, callback) { callback(enosys()); },
+ unlink(path, callback) { callback(enosys()); },
+ utimes(path, atime, mtime, callback) { callback(enosys()); },
+ };
+ }
+
+ if (!global.process) {
+ global.process = {
+ getuid() { return -1; },
+ getgid() { return -1; },
+ geteuid() { return -1; },
+ getegid() { return -1; },
+ getgroups() { throw enosys(); },
+ pid: -1,
+ ppid: -1,
+ umask() { throw enosys(); },
+ cwd() { throw enosys(); },
+ chdir() { throw enosys(); },
+ }
+ }
+
+ if (!global.crypto && global.require) {
+ const nodeCrypto = require("crypto");
+ global.crypto = {
+ getRandomValues(b) {
+ nodeCrypto.randomFillSync(b);
+ },
+ };
+ }
+ if (!global.crypto) {
+ throw new Error("global.crypto is not available, polyfill required (getRandomValues only)");
+ }
+
+ if (!global.performance) {
+ global.performance = {
+ now() {
+ const [sec, nsec] = process.hrtime();
+ return sec * 1000 + nsec / 1000000;
+ },
+ };
+ }
+
+ if (!global.TextEncoder && global.require) {
+ global.TextEncoder = require("util").TextEncoder;
+ }
+ if (!global.TextEncoder) {
+ throw new Error("global.TextEncoder is not available, polyfill required");
+ }
+
+ if (!global.TextDecoder && global.require) {
+ global.TextDecoder = require("util").TextDecoder;
+ }
+ if (!global.TextDecoder) {
+ throw new Error("global.TextDecoder is not available, polyfill required");
+ }
+
+ // End of polyfills for common API.
+
+ const encoder = new TextEncoder("utf-8");
+ const decoder = new TextDecoder("utf-8");
+
+ global.Go = class {
+ constructor() {
+ this.argv = ["js"];
+ this.env = {};
+ this.exit = (code) => {
+ if (code !== 0) {
+ console.warn("exit code:", code);
+ }
+ };
+ this._exitPromise = new Promise((resolve) => {
+ this._resolveExitPromise = resolve;
+ });
+ this._pendingEvent = null;
+ this._scheduledTimeouts = new Map();
+ this._nextCallbackTimeoutID = 1;
+
+ const setInt64 = (addr, v) => {
+ this.mem.setUint32(addr + 0, v, true);
+ this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);
+ }
+
+ const getInt64 = (addr) => {
+ const low = this.mem.getUint32(addr + 0, true);
+ const high = this.mem.getInt32(addr + 4, true);
+ return low + high * 4294967296;
+ }
+
+ const loadValue = (addr) => {
+ const f = this.mem.getFloat64(addr, true);
+ if (f === 0) {
+ return undefined;
+ }
+ if (!isNaN(f)) {
+ return f;
+ }
+
+ const id = this.mem.getUint32(addr, true);
+ return this._values[id];
+ }
+
+ const storeValue = (addr, v) => {
+ const nanHead = 0x7FF80000;
+
+ if (typeof v === "number" && v !== 0) {
+ if (isNaN(v)) {
+ this.mem.setUint32(addr + 4, nanHead, true);
+ this.mem.setUint32(addr, 0, true);
+ return;
+ }
+ this.mem.setFloat64(addr, v, true);
+ return;
+ }
+
+ if (v === undefined) {
+ this.mem.setFloat64(addr, 0, true);
+ return;
+ }
+
+ let id = this._ids.get(v);
+ if (id === undefined) {
+ id = this._idPool.pop();
+ if (id === undefined) {
+ id = this._values.length;
+ }
+ this._values[id] = v;
+ this._goRefCounts[id] = 0;
+ this._ids.set(v, id);
+ }
+ this._goRefCounts[id]++;
+ let typeFlag = 0;
+ switch (typeof v) {
+ case "object":
+ if (v !== null) {
+ typeFlag = 1;
+ }
+ break;
+ case "string":
+ typeFlag = 2;
+ break;
+ case "symbol":
+ typeFlag = 3;
+ break;
+ case "function":
+ typeFlag = 4;
+ break;
+ }
+ this.mem.setUint32(addr + 4, nanHead | typeFlag, true);
+ this.mem.setUint32(addr, id, true);
+ }
+
+ const loadSlice = (addr) => {
+ const array = getInt64(addr + 0);
+ const len = getInt64(addr + 8);
+ return new Uint8Array(this._inst.exports.mem.buffer, array, len);
+ }
+
+ const loadSliceOfValues = (addr) => {
+ const array = getInt64(addr + 0);
+ const len = getInt64(addr + 8);
+ const a = new Array(len);
+ for (let i = 0; i < len; i++) {
+ a[i] = loadValue(array + i * 8);
+ }
+ return a;
+ }
+
+ const loadString = (addr) => {
+ const saddr = getInt64(addr + 0);
+ const len = getInt64(addr + 8);
+ return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));
+ }
+
+ const timeOrigin = Date.now() - performance.now();
+ this.importObject = {
+ go: {
+ // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)
+ // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported
+ // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).
+ // This changes the SP, thus we have to update the SP used by the imported function.
+
+ // func wasmExit(code int32)
+ "runtime.wasmExit": (sp) => {
+ sp >>>= 0;
+ const code = this.mem.getInt32(sp + 8, true);
+ this.exited = true;
+ delete this._inst;
+ delete this._values;
+ delete this._goRefCounts;
+ delete this._ids;
+ delete this._idPool;
+ this.exit(code);
+ },
+
+ // func wasmWrite(fd uintptr, p unsafe.Pointer, n int32)
+ "runtime.wasmWrite": (sp) => {
+ sp >>>= 0;
+ const fd = getInt64(sp + 8);
+ const p = getInt64(sp + 16);
+ const n = this.mem.getInt32(sp + 24, true);
+ fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));
+ },
+
+ // func resetMemoryDataView()
+ "runtime.resetMemoryDataView": (sp) => {
+ sp >>>= 0;
+ this.mem = new DataView(this._inst.exports.mem.buffer);
+ },
+
+ // func nanotime1() int64
+ "runtime.nanotime1": (sp) => {
+ sp >>>= 0;
+ setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000);
+ },
+
+ // func walltime1() (sec int64, nsec int32)
+ "runtime.walltime1": (sp) => {
+ sp >>>= 0;
+ const msec = (new Date).getTime();
+ setInt64(sp + 8, msec / 1000);
+ this.mem.setInt32(sp + 16, (msec % 1000) * 1000000, true);
+ },
+
+ // func scheduleTimeoutEvent(delay int64) int32
+ "runtime.scheduleTimeoutEvent": (sp) => {
+ sp >>>= 0;
+ const id = this._nextCallbackTimeoutID;
+ this._nextCallbackTimeoutID++;
+ this._scheduledTimeouts.set(id, setTimeout(
+ () => {
+ this._resume();
+ while (this._scheduledTimeouts.has(id)) {
+ // for some reason Go failed to register the timeout event, log and try again
+ // (temporary workaround for https://github.com/golang/go/issues/28975)
+ console.warn("scheduleTimeoutEvent: missed timeout event");
+ this._resume();
+ }
+ },
+ getInt64(sp + 8) + 1, // setTimeout has been seen to fire up to 1 millisecond early
+ ));
+ this.mem.setInt32(sp + 16, id, true);
+ },
+
+ // func clearTimeoutEvent(id int32)
+ "runtime.clearTimeoutEvent": (sp) => {
+ sp >>>= 0;
+ const id = this.mem.getInt32(sp + 8, true);
+ clearTimeout(this._scheduledTimeouts.get(id));
+ this._scheduledTimeouts.delete(id);
+ },
+
+ // func getRandomData(r []byte)
+ "runtime.getRandomData": (sp) => {
+ sp >>>= 0;
+ crypto.getRandomValues(loadSlice(sp + 8));
+ },
+
+ // func finalizeRef(v ref)
+ "syscall/js.finalizeRef": (sp) => {
+ sp >>>= 0;
+ const id = this.mem.getUint32(sp + 8, true);
+ this._goRefCounts[id]--;
+ if (this._goRefCounts[id] === 0) {
+ const v = this._values[id];
+ this._values[id] = null;
+ this._ids.delete(v);
+ this._idPool.push(id);
+ }
+ },
+
+ // func stringVal(value string) ref
+ "syscall/js.stringVal": (sp) => {
+ sp >>>= 0;
+ storeValue(sp + 24, loadString(sp + 8));
+ },
+
+ // func valueGet(v ref, p string) ref
+ "syscall/js.valueGet": (sp) => {
+ sp >>>= 0;
+ const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));
+ sp = this._inst.exports.getsp() >>> 0; // see comment above
+ storeValue(sp + 32, result);
+ },
+
+ // func valueSet(v ref, p string, x ref)
+ "syscall/js.valueSet": (sp) => {
+ sp >>>= 0;
+ Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));
+ },
+
+ // func valueDelete(v ref, p string)
+ "syscall/js.valueDelete": (sp) => {
+ sp >>>= 0;
+ Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));
+ },
+
+ // func valueIndex(v ref, i int) ref
+ "syscall/js.valueIndex": (sp) => {
+ sp >>>= 0;
+ storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));
+ },
+
+ // valueSetIndex(v ref, i int, x ref)
+ "syscall/js.valueSetIndex": (sp) => {
+ sp >>>= 0;
+ Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));
+ },
+
+ // func valueCall(v ref, m string, args []ref) (ref, bool)
+ "syscall/js.valueCall": (sp) => {
+ sp >>>= 0;
+ try {
+ const v = loadValue(sp + 8);
+ const m = Reflect.get(v, loadString(sp + 16));
+ const args = loadSliceOfValues(sp + 32);
+ const result = Reflect.apply(m, v, args);
+ sp = this._inst.exports.getsp() >>> 0; // see comment above
+ storeValue(sp + 56, result);
+ this.mem.setUint8(sp + 64, 1);
+ } catch (err) {
+ storeValue(sp + 56, err);
+ this.mem.setUint8(sp + 64, 0);
+ }
+ },
+
+ // func valueInvoke(v ref, args []ref) (ref, bool)
+ "syscall/js.valueInvoke": (sp) => {
+ sp >>>= 0;
+ try {
+ const v = loadValue(sp + 8);
+ const args = loadSliceOfValues(sp + 16);
+ const result = Reflect.apply(v, undefined, args);
+ sp = this._inst.exports.getsp() >>> 0; // see comment above
+ storeValue(sp + 40, result);
+ this.mem.setUint8(sp + 48, 1);
+ } catch (err) {
+ storeValue(sp + 40, err);
+ this.mem.setUint8(sp + 48, 0);
+ }
+ },
+
+ // func valueNew(v ref, args []ref) (ref, bool)
+ "syscall/js.valueNew": (sp) => {
+ sp >>>= 0;
+ try {
+ const v = loadValue(sp + 8);
+ const args = loadSliceOfValues(sp + 16);
+ const result = Reflect.construct(v, args);
+ sp = this._inst.exports.getsp() >>> 0; // see comment above
+ storeValue(sp + 40, result);
+ this.mem.setUint8(sp + 48, 1);
+ } catch (err) {
+ storeValue(sp + 40, err);
+ this.mem.setUint8(sp + 48, 0);
+ }
+ },
+
+ // func valueLength(v ref) int
+ "syscall/js.valueLength": (sp) => {
+ sp >>>= 0;
+ setInt64(sp + 16, parseInt(loadValue(sp + 8).length));
+ },
+
+ // valuePrepareString(v ref) (ref, int)
+ "syscall/js.valuePrepareString": (sp) => {
+ sp >>>= 0;
+ const str = encoder.encode(String(loadValue(sp + 8)));
+ storeValue(sp + 16, str);
+ setInt64(sp + 24, str.length);
+ },
+
+ // valueLoadString(v ref, b []byte)
+ "syscall/js.valueLoadString": (sp) => {
+ sp >>>= 0;
+ const str = loadValue(sp + 8);
+ loadSlice(sp + 16).set(str);
+ },
+
+ // func valueInstanceOf(v ref, t ref) bool
+ "syscall/js.valueInstanceOf": (sp) => {
+ sp >>>= 0;
+ this.mem.setUint8(sp + 24, (loadValue(sp + 8) instanceof loadValue(sp + 16)) ? 1 : 0);
+ },
+
+ // func copyBytesToGo(dst []byte, src ref) (int, bool)
+ "syscall/js.copyBytesToGo": (sp) => {
+ sp >>>= 0;
+ const dst = loadSlice(sp + 8);
+ const src = loadValue(sp + 32);
+ if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {
+ this.mem.setUint8(sp + 48, 0);
+ return;
+ }
+ const toCopy = src.subarray(0, dst.length);
+ dst.set(toCopy);
+ setInt64(sp + 40, toCopy.length);
+ this.mem.setUint8(sp + 48, 1);
+ },
+
+ // func copyBytesToJS(dst ref, src []byte) (int, bool)
+ "syscall/js.copyBytesToJS": (sp) => {
+ sp >>>= 0;
+ const dst = loadValue(sp + 8);
+ const src = loadSlice(sp + 16);
+ if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {
+ this.mem.setUint8(sp + 48, 0);
+ return;
+ }
+ const toCopy = src.subarray(0, dst.length);
+ dst.set(toCopy);
+ setInt64(sp + 40, toCopy.length);
+ this.mem.setUint8(sp + 48, 1);
+ },
+
+ "debug": (value) => {
+ console.log(value);
+ },
+ }
+ };
+ }
+
+ async run(instance) {
+ if (!(instance instanceof WebAssembly.Instance)) {
+ throw new Error("Go.run: WebAssembly.Instance expected");
+ }
+ this._inst = instance;
+ this.mem = new DataView(this._inst.exports.mem.buffer);
+ this._values = [ // JS values that Go currently has references to, indexed by reference id
+ NaN,
+ 0,
+ null,
+ true,
+ false,
+ global,
+ this,
+ ];
+ this._goRefCounts = new Array(this._values.length).fill(Infinity); // number of references that Go has to a JS value, indexed by reference id
+ this._ids = new Map([ // mapping from JS values to reference ids
+ [0, 1],
+ [null, 2],
+ [true, 3],
+ [false, 4],
+ [global, 5],
+ [this, 6],
+ ]);
+ this._idPool = []; // unused ids that have been garbage collected
+ this.exited = false; // whether the Go program has exited
+
+ // Pass command line arguments and environment variables to WebAssembly by writing them to the linear memory.
+ let offset = 4096;
+
+ const strPtr = (str) => {
+ const ptr = offset;
+ const bytes = encoder.encode(str + "\0");
+ new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);
+ offset += bytes.length;
+ if (offset % 8 !== 0) {
+ offset += 8 - (offset % 8);
+ }
+ return ptr;
+ };
+
+ const argc = this.argv.length;
+
+ const argvPtrs = [];
+ this.argv.forEach((arg) => {
+ argvPtrs.push(strPtr(arg));
+ });
+ argvPtrs.push(0);
+
+ const keys = Object.keys(this.env).sort();
+ keys.forEach((key) => {
+ argvPtrs.push(strPtr(`${key}=${this.env[key]}`));
+ });
+ argvPtrs.push(0);
+
+ const argv = offset;
+ argvPtrs.forEach((ptr) => {
+ this.mem.setUint32(offset, ptr, true);
+ this.mem.setUint32(offset + 4, 0, true);
+ offset += 8;
+ });
+
+ // The linker guarantees global data starts from at least wasmMinDataAddr.
+ // Keep in sync with cmd/link/internal/ld/data.go:wasmMinDataAddr.
+ const wasmMinDataAddr = 4096 + 8192;
+ if (offset >= wasmMinDataAddr) {
+ throw new Error("total length of command line and environment variables exceeds limit");
+ }
+
+ this._inst.exports.run(argc, argv);
+ if (this.exited) {
+ this._resolveExitPromise();
+ }
+ await this._exitPromise;
+ }
+
+ _resume() {
+ if (this.exited) {
+ throw new Error("Go program has already exited");
+ }
+ this._inst.exports.resume();
+ if (this.exited) {
+ this._resolveExitPromise();
+ }
+ }
+
+ _makeFuncWrapper(id) {
+ const go = this;
+ return function () {
+ const event = { id: id, this: this, args: arguments };
+ go._pendingEvent = event;
+ go._resume();
+ return event.result;
+ };
+ }
+ }
+
+ if (
+ typeof module !== "undefined" &&
+ global.require &&
+ global.require.main === module &&
+ global.process &&
+ global.process.versions &&
+ !global.process.versions.electron
+ ) {
+ if (process.argv.length < 3) {
+ console.error("usage: go_js_wasm_exec [wasm binary] [arguments]");
+ process.exit(1);
+ }
+
+ const go = new Go();
+ go.argv = process.argv.slice(2);
+ go.env = Object.assign({ TMPDIR: require("os").tmpdir() }, process.env);
+ go.exit = process.exit;
+ WebAssembly.instantiate(fs.readFileSync(process.argv[2]), go.importObject).then((result) => {
+ process.on("exit", (code) => { // Node.js exits if no event handler is pending
+ if (code === 0 && !go.exited) {
+ // deadlock, make Go print error and stack traces
+ go._pendingEvent = { id: 0 };
+ go._resume();
+ }
+ });
+ return go.run(result.instance);
+ }).catch((err) => {
+ console.error(err);
+ process.exit(1);
+ });
+ }
+})();
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index d551bfb..195a6b5 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -1,14 +1,17 @@
-
-
-
+
+
diff --git a/frontend/src/components/Input.vue b/frontend/src/components/Input.vue
deleted file mode 100644
index 1508369..0000000
--- a/frontend/src/components/Input.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/frontend/src/components/Nav.vue b/frontend/src/components/Nav.vue
new file mode 100644
index 0000000..7c6086b
--- /dev/null
+++ b/frontend/src/components/Nav.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
CoverGen
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/Renderer.vue b/frontend/src/components/Renderer.vue
new file mode 100644
index 0000000..f74927f
--- /dev/null
+++ b/frontend/src/components/Renderer.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
Front
+
+
+
+
Back
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/Settings.vue b/frontend/src/components/Settings.vue
new file mode 100644
index 0000000..8a1b89d
--- /dev/null
+++ b/frontend/src/components/Settings.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
Settings
+
+
+
+
+
+
+
+
Error: {{ renderError }}
+
+
+
+ {{ label.label.value }}
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/form/Color.vue b/frontend/src/components/form/Color.vue
new file mode 100644
index 0000000..c1e8b11
--- /dev/null
+++ b/frontend/src/components/form/Color.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/frontend/src/components/form/Input.vue b/frontend/src/components/form/Input.vue
new file mode 100644
index 0000000..b3bc95a
--- /dev/null
+++ b/frontend/src/components/form/Input.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/frontend/src/components/form/TextArea.vue b/frontend/src/components/form/TextArea.vue
new file mode 100644
index 0000000..60a956e
--- /dev/null
+++ b/frontend/src/components/form/TextArea.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
diff --git a/frontend/src/env.d.ts b/frontend/src/env.d.ts
index d27eb5a..a735ff2 100644
--- a/frontend/src/env.d.ts
+++ b/frontend/src/env.d.ts
@@ -1,8 +1,8 @@
///
declare module '*.vue' {
- import { DefineComponent } from 'vue'
+ import { DefineComponent } from 'vue';
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
- const component: DefineComponent<{}, {}, any>
- export default component
+ const component: DefineComponent<{}, {}, any>;
+ export default component;
}
diff --git a/frontend/src/icons/SadFace.vue b/frontend/src/icons/SadFace.vue
new file mode 100644
index 0000000..42725fe
--- /dev/null
+++ b/frontend/src/icons/SadFace.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/index.css b/frontend/src/index.css
index b5c61c9..7aced50 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -1,3 +1,14 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
+
+html, body {
+ height: 100%;
+}
+
+#app {
+ min-height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-items: center;
+}
\ No newline at end of file
diff --git a/frontend/src/lib/covergen.ts b/frontend/src/lib/covergen.ts
new file mode 100644
index 0000000..b79f27d
--- /dev/null
+++ b/frontend/src/lib/covergen.ts
@@ -0,0 +1,51 @@
+interface CoverArgs {
+ customer: string;
+ number: string;
+ numberPrefix?: string;
+ hlColor?: string;
+}
+
+interface CoverError {
+ error: string;
+}
+
+declare global {
+ interface Window {
+ generateCover(args: CoverArgs): Uint8Array | CoverError;
+
+ generateSplitCover(
+ args: CoverArgs
+ ): { front: Uint8Array; back: Uint8Array } | CoverError;
+ }
+}
+
+const go = new Go();
+WebAssembly.instantiateStreaming(fetch('covergen.wasm'), go.importObject).then(
+ (result) => {
+ go.run(result.instance);
+ }
+);
+
+export function generateCover(args: CoverArgs): File {
+ const result = window.generateCover(args);
+ if ('error' in result) {
+ throw result.error;
+ }
+
+ return new File([result], 'cover.pdf', { type: 'application/pdf' });
+}
+
+export function generateSplitCover(args: CoverArgs): {
+ front: File;
+ back: File;
+} {
+ const result = window.generateSplitCover(args);
+ if ('error' in result) {
+ throw result.error;
+ }
+
+ return {
+ front: new File([result.front], 'front.pdf', { type: 'application/pdf' }),
+ back: new File([result.back], 'back.pdf', { type: 'application/pdf' }),
+ };
+}
diff --git a/frontend/src/lib/randomlabel.ts b/frontend/src/lib/randomlabel.ts
new file mode 100644
index 0000000..260ea5a
--- /dev/null
+++ b/frontend/src/lib/randomlabel.ts
@@ -0,0 +1,18 @@
+import { readonly, ref } from 'vue';
+
+export function randomLabel(options: string[]) {
+ const label = ref();
+ const randomLabel = () => {
+ let newLabel;
+ do {
+ newLabel = options[Math.floor(Math.random() * options.length)];
+ } while (newLabel === label.value);
+ return newLabel;
+ };
+ label.value = randomLabel();
+
+ return {
+ label: readonly(label),
+ update: () => (label.value = randomLabel()),
+ };
+}
diff --git a/frontend/src/main.ts b/frontend/src/main.ts
index ddc7fa9..f1ae639 100644
--- a/frontend/src/main.ts
+++ b/frontend/src/main.ts
@@ -1,5 +1,7 @@
-import { createApp } from 'vue'
-import App from './App.vue'
+import { createApp } from 'vue';
+import App from './App.vue';
import './index.css';
+import { createPinia } from 'pinia';
+import './lib/covergen'; // Get that go app booting
-createApp(App).mount('#app')
+createApp(App).use(createPinia()).mount('#app');
diff --git a/frontend/src/stores/cover.ts b/frontend/src/stores/cover.ts
new file mode 100644
index 0000000..d7abd27
--- /dev/null
+++ b/frontend/src/stores/cover.ts
@@ -0,0 +1,28 @@
+import { defineStore } from 'pinia';
+import { generateSplitCover } from '@/lib/covergen';
+
+export const useCover = defineStore('coverSettings', {
+ state() {
+ return {
+ customer: '',
+ prefix: 'offerte',
+ number: '',
+ color: '#ff00ff',
+
+ frontUri: '',
+ backUri: '',
+ };
+ },
+ actions: {
+ render() {
+ const { front, back } = generateSplitCover({
+ customer: this.customer,
+ numberPrefix: this.prefix,
+ number: this.number,
+ hlColor: this.color,
+ });
+ this.frontUri = URL.createObjectURL(front);
+ this.backUri = URL.createObjectURL(back);
+ },
+ },
+});
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index c833df4..cea17b8 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -9,6 +9,9 @@ module.exports = {
extend: {
fontFamily: {
sans: ['Inter var', ...defaultTheme.fontFamily.sans],
+ },
+ aspectRatio: {
+ 'A4': '1 / 1.4142',
}
},
},
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index 8617c8a..6de6f41 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -9,7 +9,10 @@
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
- "lib": ["esnext", "dom"]
+ "lib": ["esnext", "dom"],
+ "paths": {
+ "@/*": ["src/*"]
+ }
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
index 315212d..9b1b1e1 100644
--- a/frontend/vite.config.ts
+++ b/frontend/vite.config.ts
@@ -1,7 +1,13 @@
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+import { resolve } from 'path';
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [vue()]
-})
+ plugins: [vue()],
+ resolve: {
+ alias: {
+ '@': resolve(__dirname, './src'),
+ },
+ },
+});
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index de9f8fb..b0ef643 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -76,6 +76,23 @@ __metadata:
languageName: node
linkType: hard
+"@eslint/eslintrc@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "@eslint/eslintrc@npm:1.0.5"
+ dependencies:
+ ajv: ^6.12.4
+ debug: ^4.3.2
+ espree: ^9.2.0
+ globals: ^13.9.0
+ ignore: ^4.0.6
+ import-fresh: ^3.2.1
+ js-yaml: ^4.1.0
+ minimatch: ^3.0.4
+ strip-json-comments: ^3.1.1
+ checksum: b35b50d7b65bd8acd92a05b6fb15ac62c0cefa40dfef0324ca5bf8632bf3679bab6e173c53b3ad1e1d837701cecdbd9c144b35f46588cdf4e046a9caa272488d
+ languageName: node
+ linkType: hard
+
"@gar/promisify@npm:^1.0.1":
version: 1.1.2
resolution: "@gar/promisify@npm:1.1.2"
@@ -83,6 +100,24 @@ __metadata:
languageName: node
linkType: hard
+"@humanwhocodes/config-array@npm:^0.9.2":
+ version: 0.9.2
+ resolution: "@humanwhocodes/config-array@npm:0.9.2"
+ dependencies:
+ "@humanwhocodes/object-schema": ^1.2.1
+ debug: ^4.1.1
+ minimatch: ^3.0.4
+ checksum: 28a9e2974c50a86765cb6cc96e03d29187ea33fdaba62c4f35db89002e3cfbd340e64c9f6cf869e33e2e5cdcc06e78763458f4178d38a6f30aea1308787ca706
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/object-schema@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@humanwhocodes/object-schema@npm:1.2.1"
+ checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -148,6 +183,27 @@ __metadata:
languageName: node
linkType: hard
+"@types/golang-wasm-exec@npm:^1.15.0":
+ version: 1.15.0
+ resolution: "@types/golang-wasm-exec@npm:1.15.0"
+ checksum: ebdd35f30bb62320cc1c22d9f757ac19359617d8bb9f51002b03409930e859ea9b807c9d246f1451ee18b2c19ab6f27246bf08ad0da05ae923fe36d2d3ad3f19
+ languageName: node
+ linkType: hard
+
+"@types/json-schema@npm:^7.0.9":
+ version: 7.0.9
+ resolution: "@types/json-schema@npm:7.0.9"
+ checksum: 259d0e25f11a21ba5c708f7ea47196bd396e379fddb79c76f9f4f62c945879dc21657904914313ec2754e443c5018ea8372362f323f30e0792897fdb2098a705
+ languageName: node
+ linkType: hard
+
+"@types/node@npm:^17.0.10":
+ version: 17.0.10
+ resolution: "@types/node@npm:17.0.10"
+ checksum: 979e83d642a2b4f18fa1a4233f884822c05abc7acd0836024aa964187f8446432b21f7913e72fe2b3927c4a811c27a0b6cd60ac7c4ac6a6762cfbab70782aa6a
+ languageName: node
+ linkType: hard
+
"@types/parse-json@npm:^4.0.0":
version: 4.0.0
resolution: "@types/parse-json@npm:4.0.0"
@@ -155,13 +211,130 @@ __metadata:
languageName: node
linkType: hard
+"@typescript-eslint/eslint-plugin@npm:^5.0.0, @typescript-eslint/eslint-plugin@npm:^5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/scope-manager": 5.10.0
+ "@typescript-eslint/type-utils": 5.10.0
+ "@typescript-eslint/utils": 5.10.0
+ debug: ^4.3.2
+ functional-red-black-tree: ^1.0.1
+ ignore: ^5.1.8
+ regexpp: ^3.2.0
+ semver: ^7.3.5
+ tsutils: ^3.21.0
+ peerDependencies:
+ "@typescript-eslint/parser": ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 675b79c519e5287a184720317d309c55e308c19eb52f1f062e3851168a9b6e4768363bd31bdcbf897c080f1c21cb39736cd522408620818dd9ce483d1573bf89
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/parser@npm:^5.0.0, @typescript-eslint/parser@npm:^5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/parser@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/scope-manager": 5.10.0
+ "@typescript-eslint/types": 5.10.0
+ "@typescript-eslint/typescript-estree": 5.10.0
+ debug: ^4.3.2
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 127aaa807659bbd4b2b274263d1ef821b8d0746f0a18ae55466718d070ba43c94e5575849954271f0d6582d2114c96a0ff6645189015a6522c4d8682d4d20a1b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/scope-manager@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/scope-manager@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/types": 5.10.0
+ "@typescript-eslint/visitor-keys": 5.10.0
+ checksum: 934cbb4a03d383537fda05b926eeba0597d63ef1c65328d55abe20a060b6559ba2017825e167dc2093a23d675c37aaa2056dec1747b17f0fbca419fba68f8d0f
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/type-utils@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/type-utils@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/utils": 5.10.0
+ debug: ^4.3.2
+ tsutils: ^3.21.0
+ peerDependencies:
+ eslint: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: aa6bf7fcac7aa956ccf938b8d93d1ecd8956ea1f5690046967fe69f0bd2592cd8e29a992f5a252990b8e13c1e09c3f9efb6375d0551f4b4c08c69cd662be2e73
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/types@npm:5.10.0"
+ checksum: 269988cbb1772616ade3af5f70a3c4d7871c90fa04fbc4ed8b1148ec0a6853f2d51609fe51aa797486bfe9b704a4c4a3410e6225470db18850d3469a7db5a63b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/typescript-estree@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/typescript-estree@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/types": 5.10.0
+ "@typescript-eslint/visitor-keys": 5.10.0
+ debug: ^4.3.2
+ globby: ^11.0.4
+ is-glob: ^4.0.3
+ semver: ^7.3.5
+ tsutils: ^3.21.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 1097fd5a96857a285020a2c5ee7abb7e5984771ac44b61b5d500724dc3ff88030e4e5340fcd872779b1307fbb224240d6543babb901559675efcab20a2dc70dc
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/utils@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/utils@npm:5.10.0"
+ dependencies:
+ "@types/json-schema": ^7.0.9
+ "@typescript-eslint/scope-manager": 5.10.0
+ "@typescript-eslint/types": 5.10.0
+ "@typescript-eslint/typescript-estree": 5.10.0
+ eslint-scope: ^5.1.1
+ eslint-utils: ^3.0.0
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ checksum: 9c53b0e47b922210c5dc0c7ac045206062ad4f21f9bf03ef091894d3fcfe9fde7e72c70a97b5073a54a42b7628943dd8dcef00bd3285ebd63039909888dea84a
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/visitor-keys@npm:5.10.0":
+ version: 5.10.0
+ resolution: "@typescript-eslint/visitor-keys@npm:5.10.0"
+ dependencies:
+ "@typescript-eslint/types": 5.10.0
+ eslint-visitor-keys: ^3.0.0
+ checksum: 9b99c6be709c59be6a1705f0244aad732a5e523af8b8eb87e5dd6a3d27a027329bf2617aa6f15a36f79bce4215ac09277e144737a0d8d674e93b073b36fd963e
+ languageName: node
+ linkType: hard
+
"@vitejs/plugin-vue@npm:^2.0.0":
- version: 2.0.1
- resolution: "@vitejs/plugin-vue@npm:2.0.1"
+ version: 2.1.0
+ resolution: "@vitejs/plugin-vue@npm:2.1.0"
peerDependencies:
vite: ^2.5.10
vue: ^3.2.25
- checksum: c0273692c09d72d3afa18503cd49f48a1ad88fbfb14e4df4082414e1ead030e2788e26106e401b1ac18155f1c6ccebcf99d923f07d62aeedeb9494a7649a3d7b
+ checksum: c4fc68552c3622824bf5a9f3799ddf645eb9efb3d2127094f4ba1d408009363ef003abb9b02920acaf00cf521ec87b9e651fe5cba13f266a1da0c0a7ca57e535
languageName: node
linkType: hard
@@ -246,115 +419,136 @@ __metadata:
languageName: node
linkType: hard
-"@vue/compiler-core@npm:3.2.27, @vue/compiler-core@npm:^3.2.21":
- version: 3.2.27
- resolution: "@vue/compiler-core@npm:3.2.27"
+"@vue/compiler-core@npm:3.2.28, @vue/compiler-core@npm:^3.2.21":
+ version: 3.2.28
+ resolution: "@vue/compiler-core@npm:3.2.28"
dependencies:
"@babel/parser": ^7.16.4
- "@vue/shared": 3.2.27
+ "@vue/shared": 3.2.28
estree-walker: ^2.0.2
source-map: ^0.6.1
- checksum: 18cdab128739655daae75ed4430688d8fb96d033aa2834585b5de92f3d167ac7daf921a6a7a8f67b192b57d0a11eee0588be86ba7a9866e7d03f5bdcfa95e860
+ checksum: 0bcc8075efada475e239fbac9e4c63b2798bcae1ea7fec668aa71ea3590bb464ffa2e725dd0b3d0bb0d7ba937de485acfed3a7559cb6e396a2544bcd5490a2a0
languageName: node
linkType: hard
-"@vue/compiler-dom@npm:3.2.27, @vue/compiler-dom@npm:^3.2.21":
- version: 3.2.27
- resolution: "@vue/compiler-dom@npm:3.2.27"
+"@vue/compiler-dom@npm:3.2.28, @vue/compiler-dom@npm:^3.2.21":
+ version: 3.2.28
+ resolution: "@vue/compiler-dom@npm:3.2.28"
dependencies:
- "@vue/compiler-core": 3.2.27
- "@vue/shared": 3.2.27
- checksum: 715b60b396010932677050239a86a3f63fe0835adc73298b0805f7c8e9dc333426ba6ee5fcdaf885e6fd91f9d3f5452d32555fa61a8ea93cf3185ceb6532f8c3
+ "@vue/compiler-core": 3.2.28
+ "@vue/shared": 3.2.28
+ checksum: 5b9826f7d9a510463a2fdd9d3e292cfc2f63870b3ab8e7af5b51891344027161cda8d1278189dcbea24480e377c61e4581cb122b14b4a2478ee012b052ac5adf
languageName: node
linkType: hard
-"@vue/compiler-sfc@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/compiler-sfc@npm:3.2.27"
+"@vue/compiler-sfc@npm:3.2.28, @vue/compiler-sfc@npm:^3.0.0":
+ version: 3.2.28
+ resolution: "@vue/compiler-sfc@npm:3.2.28"
dependencies:
"@babel/parser": ^7.16.4
- "@vue/compiler-core": 3.2.27
- "@vue/compiler-dom": 3.2.27
- "@vue/compiler-ssr": 3.2.27
- "@vue/reactivity-transform": 3.2.27
- "@vue/shared": 3.2.27
+ "@vue/compiler-core": 3.2.28
+ "@vue/compiler-dom": 3.2.28
+ "@vue/compiler-ssr": 3.2.28
+ "@vue/reactivity-transform": 3.2.28
+ "@vue/shared": 3.2.28
estree-walker: ^2.0.2
magic-string: ^0.25.7
postcss: ^8.1.10
source-map: ^0.6.1
- checksum: 177e8e3cf4ed30de710a1e3355d945e17e38832259b7374eb392c878ae8d124e0e1a5ac6ca2b1b12b1b1f7fc84c31f4177be184546227166832fc70ac4f24099
+ checksum: 94cc96582d7d11fa86e8c710a2d8707898d38c72d8d6319e2ff4ebe5dcadf6a47e1e1a63f41d6e77d06b01bd09713eb5aa22fc4f0539bc64ac5e2c4a8c079bb8
languageName: node
linkType: hard
-"@vue/compiler-ssr@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/compiler-ssr@npm:3.2.27"
+"@vue/compiler-ssr@npm:3.2.28":
+ version: 3.2.28
+ resolution: "@vue/compiler-ssr@npm:3.2.28"
dependencies:
- "@vue/compiler-dom": 3.2.27
- "@vue/shared": 3.2.27
- checksum: 2830cc5c0f70e6bbd15a515b637dd5a27d6b38aa504eb40d46d40acd97a8b68c9bab97b2e00707a83867a01fa9660213f7932c2742c0a555a0aad1bcbd030cf8
+ "@vue/compiler-dom": 3.2.28
+ "@vue/shared": 3.2.28
+ checksum: 2ab2de637c6cbe43886703cd2a2f2ab1a861370995e0eba66f7e5ca170cbff8369fb7fb98e7d3ca26dda8244d2a8af9b4c7574f26fb8306466df78184539b8b2
languageName: node
linkType: hard
-"@vue/reactivity-transform@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/reactivity-transform@npm:3.2.27"
+"@vue/devtools-api@npm:^6.0.0-beta.21":
+ version: 6.0.0-beta.21.1
+ resolution: "@vue/devtools-api@npm:6.0.0-beta.21.1"
+ checksum: 0ba256aa6e184455ff0e990e765ebb4d8f7cb5509c97d25898d2e98f213c2d2b3d44492b3f92ff50fae22ee4806f684675f15f324ae81260ada89e9b3e12303c
+ languageName: node
+ linkType: hard
+
+"@vue/eslint-config-typescript@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "@vue/eslint-config-typescript@npm:10.0.0"
+ dependencies:
+ "@typescript-eslint/eslint-plugin": ^5.0.0
+ "@typescript-eslint/parser": ^5.0.0
+ vue-eslint-parser: ^8.0.0
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+ eslint-plugin-vue: ^8.0.1
+ checksum: 8af585db57ea4cd24a00e0ef21db077d911237f8db76c4147a98ba0b975f2b5ebc85d5ce7b9abb0e8a9a32cd2ad5030e62b3d1ddeb9ac47a740a8bc4eae46f97
+ languageName: node
+ linkType: hard
+
+"@vue/reactivity-transform@npm:3.2.28":
+ version: 3.2.28
+ resolution: "@vue/reactivity-transform@npm:3.2.28"
dependencies:
"@babel/parser": ^7.16.4
- "@vue/compiler-core": 3.2.27
- "@vue/shared": 3.2.27
+ "@vue/compiler-core": 3.2.28
+ "@vue/shared": 3.2.28
estree-walker: ^2.0.2
magic-string: ^0.25.7
- checksum: 95727e2ee5d84529597e822b00a160892262165233e56dda3ceb1931aae305b7ddba22da5562646b7191bb0352b4946b8469099db422c3754789cdd8f54d5987
+ checksum: ef4fc05aeeb12eb46956cb1451fb8e7012d0f0df0b6eba9e2d18fbd265b0ab10fc8d8fe49624e17f0f7de142f2de7829e1eca23b8378a1851f21257d5f8009bc
languageName: node
linkType: hard
-"@vue/reactivity@npm:3.2.27, @vue/reactivity@npm:^3.2.21":
- version: 3.2.27
- resolution: "@vue/reactivity@npm:3.2.27"
+"@vue/reactivity@npm:3.2.28, @vue/reactivity@npm:^3.2.21":
+ version: 3.2.28
+ resolution: "@vue/reactivity@npm:3.2.28"
dependencies:
- "@vue/shared": 3.2.27
- checksum: 33a0306668021d0d7aaacdf28c613b8a01006184fdabf1a4cd4f93ac429161f85d4258359b09b2fde86cbc8a1090d6269831ae71461695667aa8d94fc24902c9
+ "@vue/shared": 3.2.28
+ checksum: 60ba43b27b3a31c8dea36893238130f3ba6ca66ef5b50a1a54a077f02a452825ce5f6df680f90fc06efe511f4eae06c0ba0bee2df5a103862c35550413ac5cd4
languageName: node
linkType: hard
-"@vue/runtime-core@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/runtime-core@npm:3.2.27"
+"@vue/runtime-core@npm:3.2.28":
+ version: 3.2.28
+ resolution: "@vue/runtime-core@npm:3.2.28"
dependencies:
- "@vue/reactivity": 3.2.27
- "@vue/shared": 3.2.27
- checksum: dcd02aadedcc2f8398158437b7b2ecf4ed1cde68c19542382b2902c50ab8785b0215eda865e8dc84da7c105e35886a5e74e4cbaa12ecdbc010ceb9e857368165
+ "@vue/reactivity": 3.2.28
+ "@vue/shared": 3.2.28
+ checksum: 3b599859ada5ae0a043573a9e2d41ea5b9331059d49a30d114af10be943a7f2e954983af1dfd3b1d4369639a7ef7f02f7a33c1120029de2031ed24d6fcd13801
languageName: node
linkType: hard
-"@vue/runtime-dom@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/runtime-dom@npm:3.2.27"
+"@vue/runtime-dom@npm:3.2.28":
+ version: 3.2.28
+ resolution: "@vue/runtime-dom@npm:3.2.28"
dependencies:
- "@vue/runtime-core": 3.2.27
- "@vue/shared": 3.2.27
+ "@vue/runtime-core": 3.2.28
+ "@vue/shared": 3.2.28
csstype: ^2.6.8
- checksum: 9c7303011eb2efe070bf9d9dc0c3c12c67dbc598c1897aedc88757574ea71cae4a94f2e8fd2e06ffabd0acb2380412f38c253370d28bac0c339ef6b66110445b
+ checksum: d530d4f0b21483c00ca1935477a3e2c93463a3b4790ce9f2c8e19831ae3e2d9b5bad7503292fa7ab2effcca09d77fc7784b6e53c5106a2e8ca5016497d968efc
languageName: node
linkType: hard
-"@vue/server-renderer@npm:3.2.27":
- version: 3.2.27
- resolution: "@vue/server-renderer@npm:3.2.27"
+"@vue/server-renderer@npm:3.2.28":
+ version: 3.2.28
+ resolution: "@vue/server-renderer@npm:3.2.28"
dependencies:
- "@vue/compiler-ssr": 3.2.27
- "@vue/shared": 3.2.27
+ "@vue/compiler-ssr": 3.2.28
+ "@vue/shared": 3.2.28
peerDependencies:
- vue: 3.2.27
- checksum: d918c36b2be8536bb916ee4a4fa2601430490a174731269694f61cb31e3c79b6a14d8f4cee52b6a340ee4d1eda7815b61e676eb98d7dac4f46b2427f2860c5ba
+ vue: 3.2.28
+ checksum: 755c2a1aed929782d8096ffb15bc2515ae4a5d26c820569fb988f11acf9d3bd420b35b73cd48b36f123ab06579c0a7dc33881a9bd190ebae8cd9af2eb473b690
languageName: node
linkType: hard
-"@vue/shared@npm:3.2.27, @vue/shared@npm:^3.2.21":
- version: 3.2.27
- resolution: "@vue/shared@npm:3.2.27"
- checksum: ab5b1ffd27e75b00d4ea952fd47a8237b86d02d1f336beecc25e3823bb9e15d57ac15d4899c5309e339ce8da72c9f35e30fe25d3f3106f670854c0fefc0dee9b
+"@vue/shared@npm:3.2.28, @vue/shared@npm:^3.2.21":
+ version: 3.2.28
+ resolution: "@vue/shared@npm:3.2.28"
+ checksum: d0d0ee2d6a3637a295cfe9ef1f7aee06697dd45485d25d2acd19a0824a6b5c40de58f6efc1470727ac97a258d8b6f0cf8d9cd986a552f986718838c325f61e83
languageName: node
linkType: hard
@@ -365,6 +559,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn-jsx@npm:^5.3.1":
+ version: 5.3.2
+ resolution: "acorn-jsx@npm:5.3.2"
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950
+ languageName: node
+ linkType: hard
+
"acorn-node@npm:^1.6.1":
version: 1.8.2
resolution: "acorn-node@npm:1.8.2"
@@ -392,6 +595,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.7.0":
+ version: 8.7.0
+ resolution: "acorn@npm:8.7.0"
+ bin:
+ acorn: bin/acorn
+ checksum: e0f79409d68923fbf1aa6d4166f3eedc47955320d25c89a20cc822e6ba7c48c5963d5bc657bc242d68f7a4ac9faf96eef033e8f73656da6c640d4219935fdfd0
+ languageName: node
+ linkType: hard
+
"agent-base@npm:6, agent-base@npm:^6.0.2":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
@@ -422,6 +634,18 @@ __metadata:
languageName: node
linkType: hard
+"ajv@npm:^6.10.0, ajv@npm:^6.12.4":
+ version: 6.12.6
+ resolution: "ajv@npm:6.12.6"
+ dependencies:
+ fast-deep-equal: ^3.1.1
+ fast-json-stable-stringify: ^2.0.0
+ json-schema-traverse: ^0.4.1
+ uri-js: ^4.2.2
+ checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4
+ languageName: node
+ linkType: hard
+
"ansi-regex@npm:^5.0.1":
version: 5.0.1
resolution: "ansi-regex@npm:5.0.1"
@@ -481,6 +705,20 @@ __metadata:
languageName: node
linkType: hard
+"argparse@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "argparse@npm:2.0.1"
+ checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced
+ languageName: node
+ linkType: hard
+
+"array-union@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "array-union@npm:2.1.0"
+ checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d
+ languageName: node
+ linkType: hard
+
"asap@npm:~2.0.3":
version: 2.0.6
resolution: "asap@npm:2.0.6"
@@ -621,9 +859,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001286, caniuse-lite@npm:^1.0.30001297":
- version: 1.0.30001300
- resolution: "caniuse-lite@npm:1.0.30001300"
- checksum: f8c981c0658e2ea67b5e106538a9f3b15d528a6679f2b6e7cb3f508a99e4f9f3f69c73d1b243c77e5ccb3bcef964a801a26a2ba6a13416b42baf314577e3172a
+ version: 1.0.30001301
+ resolution: "caniuse-lite@npm:1.0.30001301"
+ checksum: 0e359f2c682bed35521902ce7fc91136c485de4c1e1e33272d6fbb7cdf77178df7649960a9b69ce9da12022aadd7a0037b3c9b3594c41146d58216654dc9a236
languageName: node
linkType: hard
@@ -638,7 +876,7 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^4.1.2":
+"chalk@npm:^4.0.0, chalk@npm:^4.1.2":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
dependencies:
@@ -768,6 +1006,17 @@ __metadata:
languageName: node
linkType: hard
+"cross-spawn@npm:^7.0.2":
+ version: 7.0.3
+ resolution: "cross-spawn@npm:7.0.3"
+ dependencies:
+ path-key: ^3.1.0
+ shebang-command: ^2.0.0
+ which: ^2.0.1
+ checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52
+ languageName: node
+ linkType: hard
+
"cssesc@npm:^3.0.0":
version: 3.0.0
resolution: "cssesc@npm:3.0.0"
@@ -784,7 +1033,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1":
+"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2":
version: 4.3.3
resolution: "debug@npm:4.3.3"
dependencies:
@@ -796,6 +1045,13 @@ __metadata:
languageName: node
linkType: hard
+"deep-is@npm:^0.1.3":
+ version: 0.1.4
+ resolution: "deep-is@npm:0.1.4"
+ checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804
+ languageName: node
+ linkType: hard
+
"defined@npm:^1.0.0":
version: 1.0.0
resolution: "defined@npm:1.0.0"
@@ -837,6 +1093,15 @@ __metadata:
languageName: node
linkType: hard
+"dir-glob@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "dir-glob@npm:3.0.1"
+ dependencies:
+ path-type: ^4.0.0
+ checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615
+ languageName: node
+ linkType: hard
+
"dlv@npm:^1.1.3":
version: 1.1.3
resolution: "dlv@npm:1.1.3"
@@ -844,6 +1109,15 @@ __metadata:
languageName: node
linkType: hard
+"doctrine@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "doctrine@npm:3.0.0"
+ dependencies:
+ esutils: ^2.0.2
+ checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce
+ languageName: node
+ linkType: hard
+
"doctypes@npm:^1.1.0":
version: 1.1.0
resolution: "doctypes@npm:1.1.0"
@@ -890,9 +1164,9 @@ __metadata:
linkType: hard
"electron-to-chromium@npm:^1.4.17":
- version: 1.4.49
- resolution: "electron-to-chromium@npm:1.4.49"
- checksum: 0527cc195c34b609f4ecad25584d238494d758c730d0aafdbd408a0ccce42cc6f05c1c0b76cc055a0a173700e29b1f3352d91b5cbeb91d063321690913afae84
+ version: 1.4.50
+ resolution: "electron-to-chromium@npm:1.4.50"
+ checksum: c1468cba3497994c1541cdcdcb1dcb1e25f305f5610dda5ff635aa0fd95d803ca60f4dd207c98b13df9e630a339aad34784e06dd2e8ef9335465599167b09635
languageName: node
linkType: hard
@@ -1154,6 +1428,183 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "escape-string-regexp@npm:4.0.0"
+ checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5
+ languageName: node
+ linkType: hard
+
+"eslint-config-prettier@npm:^8.3.0":
+ version: 8.3.0
+ resolution: "eslint-config-prettier@npm:8.3.0"
+ peerDependencies:
+ eslint: ">=7.0.0"
+ bin:
+ eslint-config-prettier: bin/cli.js
+ checksum: df4cea3032671995bb5ab07e016169072f7fa59f44a53251664d9ca60951b66cdc872683b5c6a3729c91497c11490ca44a79654b395dd6756beb0c3903a37196
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-prettier-vue@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "eslint-plugin-prettier-vue@npm:3.1.0"
+ dependencies:
+ "@vue/compiler-sfc": ^3.0.0
+ chalk: ^4.0.0
+ prettier: ^2.0.0
+ prettier-linter-helpers: ^1.0.0
+ checksum: 70825154576cc67ca83689ca49de2d295cbef3f9f8048f56f224e3603867f9fa0897523bf354bdd5bf115fdbba743aa605b9d90dc2c12dd531e7d817276e4e23
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-vue@npm:^8.3.0":
+ version: 8.3.0
+ resolution: "eslint-plugin-vue@npm:8.3.0"
+ dependencies:
+ eslint-utils: ^3.0.0
+ natural-compare: ^1.4.0
+ semver: ^7.3.5
+ vue-eslint-parser: ^8.0.1
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+ checksum: 08337907108472cc9eb5cb7a7fca4689eae634f3fc237e408bf1fea228dcd638cefcbd305946ab4090bc41333aaac204bfe9024eb22f72d7b1a0641b3c066c0a
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "eslint-scope@npm:5.1.1"
+ dependencies:
+ esrecurse: ^4.3.0
+ estraverse: ^4.1.1
+ checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^7.0.0, eslint-scope@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "eslint-scope@npm:7.1.0"
+ dependencies:
+ esrecurse: ^4.3.0
+ estraverse: ^5.2.0
+ checksum: 2070470a0725438ed47075b2574a4c03cf59aa32648da8cff9e3548c84f6b0079cfdb9ee1dd7ab0bfe97011f64b2af5bfd4b69cf14a1292130dec661eec7914a
+ languageName: node
+ linkType: hard
+
+"eslint-utils@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "eslint-utils@npm:3.0.0"
+ dependencies:
+ eslint-visitor-keys: ^2.0.0
+ peerDependencies:
+ eslint: ">=5"
+ checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "eslint-visitor-keys@npm:2.1.0"
+ checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.1.0, eslint-visitor-keys@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "eslint-visitor-keys@npm:3.2.0"
+ checksum: fdadbb26f9e6417d3db7ad4f00bb0d573b6031c32fa72e8cdae32d038223faaeddff2ee443c90cb489bf774e75bff765c00912b8f9106d65e4f202ccd78c1b18
+ languageName: node
+ linkType: hard
+
+"eslint@npm:8.7.0, eslint@npm:^8.7.0":
+ version: 8.7.0
+ resolution: "eslint@npm:8.7.0"
+ dependencies:
+ "@eslint/eslintrc": ^1.0.5
+ "@humanwhocodes/config-array": ^0.9.2
+ ajv: ^6.10.0
+ chalk: ^4.0.0
+ cross-spawn: ^7.0.2
+ debug: ^4.3.2
+ doctrine: ^3.0.0
+ escape-string-regexp: ^4.0.0
+ eslint-scope: ^7.1.0
+ eslint-utils: ^3.0.0
+ eslint-visitor-keys: ^3.2.0
+ espree: ^9.3.0
+ esquery: ^1.4.0
+ esutils: ^2.0.2
+ fast-deep-equal: ^3.1.3
+ file-entry-cache: ^6.0.1
+ functional-red-black-tree: ^1.0.1
+ glob-parent: ^6.0.1
+ globals: ^13.6.0
+ ignore: ^5.2.0
+ import-fresh: ^3.0.0
+ imurmurhash: ^0.1.4
+ is-glob: ^4.0.0
+ js-yaml: ^4.1.0
+ json-stable-stringify-without-jsonify: ^1.0.1
+ levn: ^0.4.1
+ lodash.merge: ^4.6.2
+ minimatch: ^3.0.4
+ natural-compare: ^1.4.0
+ optionator: ^0.9.1
+ regexpp: ^3.2.0
+ strip-ansi: ^6.0.1
+ strip-json-comments: ^3.1.0
+ text-table: ^0.2.0
+ v8-compile-cache: ^2.0.3
+ bin:
+ eslint: bin/eslint.js
+ checksum: 1c80375a48b0fe3ccae3c6354323e4f0e92e970f23abc5b9705b90b7aef514b69ebd0a63e74962d30789986c91fa41c0e25cd2f98f19e9e2a2d36aafdfc9ccc9
+ languageName: node
+ linkType: hard
+
+"espree@npm:^9.0.0, espree@npm:^9.2.0, espree@npm:^9.3.0":
+ version: 9.3.0
+ resolution: "espree@npm:9.3.0"
+ dependencies:
+ acorn: ^8.7.0
+ acorn-jsx: ^5.3.1
+ eslint-visitor-keys: ^3.1.0
+ checksum: c0f1885c4eab652f9be08eb9228cea0df046b559b29d4aed8d6590ea9bd60177d4cb245d204a6f737a79a096861bb4ab8e480aeb8c1dbafef5beec1157353ce4
+ languageName: node
+ linkType: hard
+
+"esquery@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "esquery@npm:1.4.0"
+ dependencies:
+ estraverse: ^5.1.0
+ checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210
+ languageName: node
+ linkType: hard
+
+"esrecurse@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "esrecurse@npm:4.3.0"
+ dependencies:
+ estraverse: ^5.2.0
+ checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^4.1.1":
+ version: 4.3.0
+ resolution: "estraverse@npm:4.3.0"
+ checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+ version: 5.3.0
+ resolution: "estraverse@npm:5.3.0"
+ checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b
+ languageName: node
+ linkType: hard
+
"estree-walker@npm:^2.0.2":
version: 2.0.2
resolution: "estree-walker@npm:2.0.2"
@@ -1161,7 +1612,28 @@ __metadata:
languageName: node
linkType: hard
-"fast-glob@npm:^3.2.7":
+"esutils@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "esutils@npm:2.0.3"
+ checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87
+ languageName: node
+ linkType: hard
+
+"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
+ version: 3.1.3
+ resolution: "fast-deep-equal@npm:3.1.3"
+ checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d
+ languageName: node
+ linkType: hard
+
+"fast-diff@npm:^1.1.2":
+ version: 1.2.0
+ resolution: "fast-diff@npm:1.2.0"
+ checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9":
version: 3.2.11
resolution: "fast-glob@npm:3.2.11"
dependencies:
@@ -1174,6 +1646,20 @@ __metadata:
languageName: node
linkType: hard
+"fast-json-stable-stringify@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fast-json-stable-stringify@npm:2.1.0"
+ checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb
+ languageName: node
+ linkType: hard
+
+"fast-levenshtein@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "fast-levenshtein@npm:2.0.6"
+ checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c
+ languageName: node
+ linkType: hard
+
"fastq@npm:^1.6.0":
version: 1.13.0
resolution: "fastq@npm:1.13.0"
@@ -1183,6 +1669,15 @@ __metadata:
languageName: node
linkType: hard
+"file-entry-cache@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "file-entry-cache@npm:6.0.1"
+ dependencies:
+ flat-cache: ^3.0.4
+ checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74
+ languageName: node
+ linkType: hard
+
"fill-range@npm:^7.0.1":
version: 7.0.1
resolution: "fill-range@npm:7.0.1"
@@ -1192,6 +1687,23 @@ __metadata:
languageName: node
linkType: hard
+"flat-cache@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "flat-cache@npm:3.0.4"
+ dependencies:
+ flatted: ^3.1.0
+ rimraf: ^3.0.2
+ checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365
+ languageName: node
+ linkType: hard
+
+"flatted@npm:^3.1.0":
+ version: 3.2.4
+ resolution: "flatted@npm:3.2.4"
+ checksum: 7d33846428ab337ec81ef9b8b9103894c1c81f5f67feb32bd4ed106fbc47da60d56edb42efd36c9f1f30a010272aeccd34ec1ffacfe9dfdff19673b1d4df481b
+ languageName: node
+ linkType: hard
+
"fraction.js@npm:^4.1.2":
version: 4.1.2
resolution: "fraction.js@npm:4.1.2"
@@ -1204,9 +1716,20 @@ __metadata:
resolution: "frontend@workspace:."
dependencies:
"@tailwindcss/forms": ^0.4.0
+ "@types/golang-wasm-exec": ^1.15.0
+ "@types/node": ^17.0.10
+ "@typescript-eslint/eslint-plugin": ^5.10.0
+ "@typescript-eslint/parser": ^5.10.0
"@vitejs/plugin-vue": ^2.0.0
+ "@vue/eslint-config-typescript": ^10.0.0
autoprefixer: ^10.4.2
+ eslint: ^8.7.0
+ eslint-config-prettier: ^8.3.0
+ eslint-plugin-prettier-vue: ^3.1.0
+ eslint-plugin-vue: ^8.3.0
+ pinia: ^2.0.9
postcss: ^8.4.5
+ prettier: ^2.5.1
tailwindcss: ^3.0.15
typescript: ^4.4.4
vite: ^2.7.2
@@ -1256,6 +1779,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"functional-red-black-tree@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "functional-red-black-tree@npm:1.0.1"
+ checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f
+ languageName: node
+ linkType: hard
+
"gauge@npm:^4.0.0":
version: 4.0.0
resolution: "gauge@npm:4.0.0"
@@ -1293,7 +1823,7 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"glob-parent@npm:^6.0.2":
+"glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2":
version: 6.0.2
resolution: "glob-parent@npm:6.0.2"
dependencies:
@@ -1316,6 +1846,29 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"globals@npm:^13.6.0, globals@npm:^13.9.0":
+ version: 13.12.0
+ resolution: "globals@npm:13.12.0"
+ dependencies:
+ type-fest: ^0.20.2
+ checksum: 1f959abb11117916468a1afcba527eead152900cad652c8383c4e8976daea7ec55e1ee30c086f48d1b8655719f214e9d92eca083c3a43b5543bc4056e7e5fccf
+ languageName: node
+ linkType: hard
+
+"globby@npm:^11.0.4":
+ version: 11.1.0
+ resolution: "globby@npm:11.1.0"
+ dependencies:
+ array-union: ^2.1.0
+ dir-glob: ^3.0.1
+ fast-glob: ^3.2.9
+ ignore: ^5.2.0
+ merge2: ^1.4.1
+ slash: ^3.0.0
+ checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6
+ languageName: node
+ linkType: hard
+
"graceful-fs@npm:^4.2.6":
version: 4.2.9
resolution: "graceful-fs@npm:4.2.9"
@@ -1427,7 +1980,21 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"import-fresh@npm:^3.2.1":
+"ignore@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "ignore@npm:4.0.6"
+ checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^5.1.8, ignore@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "ignore@npm:5.2.0"
+ checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77
+ languageName: node
+ linkType: hard
+
+"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1":
version: 3.3.0
resolution: "import-fresh@npm:3.3.0"
dependencies:
@@ -1531,7 +2098,7 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1":
+"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1":
version: 4.0.3
resolution: "is-glob@npm:4.0.3"
dependencies:
@@ -1592,6 +2159,17 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"js-yaml@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "js-yaml@npm:4.1.0"
+ dependencies:
+ argparse: ^2.0.1
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a
+ languageName: node
+ linkType: hard
+
"json-parse-even-better-errors@npm:^2.3.0":
version: 2.3.1
resolution: "json-parse-even-better-errors@npm:2.3.1"
@@ -1599,6 +2177,20 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"json-schema-traverse@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "json-schema-traverse@npm:0.4.1"
+ checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b
+ languageName: node
+ linkType: hard
+
+"json-stable-stringify-without-jsonify@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
+ checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215
+ languageName: node
+ linkType: hard
+
"jsonc-parser@npm:^2.3.0":
version: 2.3.1
resolution: "jsonc-parser@npm:2.3.1"
@@ -1623,6 +2215,16 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"levn@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "levn@npm:0.4.1"
+ dependencies:
+ prelude-ls: ^1.2.1
+ type-check: ~0.4.0
+ checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4
+ languageName: node
+ linkType: hard
+
"lilconfig@npm:^2.0.4":
version: 2.0.4
resolution: "lilconfig@npm:2.0.4"
@@ -1637,6 +2239,20 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"lodash.merge@npm:^4.6.2":
+ version: 4.6.2
+ resolution: "lodash.merge@npm:4.6.2"
+ checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005
+ languageName: node
+ linkType: hard
+
+"lodash@npm:^4.17.21":
+ version: 4.17.21
+ resolution: "lodash@npm:4.17.21"
+ checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^6.0.0":
version: 6.0.0
resolution: "lru-cache@npm:6.0.0"
@@ -1679,7 +2295,7 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
-"merge2@npm:^1.3.0":
+"merge2@npm:^1.3.0, merge2@npm:^1.4.1":
version: 1.4.1
resolution: "merge2@npm:1.4.1"
checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2
@@ -1823,6 +2439,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"natural-compare@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "natural-compare@npm:1.4.0"
+ checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d
+ languageName: node
+ linkType: hard
+
"negotiator@npm:^0.6.2":
version: 0.6.2
resolution: "negotiator@npm:0.6.2"
@@ -1917,6 +2540,20 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"optionator@npm:^0.9.1":
+ version: 0.9.1
+ resolution: "optionator@npm:0.9.1"
+ dependencies:
+ deep-is: ^0.1.3
+ fast-levenshtein: ^2.0.6
+ levn: ^0.4.1
+ prelude-ls: ^1.2.1
+ type-check: ^0.4.0
+ word-wrap: ^1.2.3
+ checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0
+ languageName: node
+ linkType: hard
+
"p-map@npm:^4.0.0":
version: 4.0.0
resolution: "p-map@npm:4.0.0"
@@ -1954,6 +2591,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"path-key@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "path-key@npm:3.1.1"
+ checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020
+ languageName: node
+ linkType: hard
+
"path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
@@ -1982,6 +2626,25 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"pinia@npm:^2.0.9":
+ version: 2.0.9
+ resolution: "pinia@npm:2.0.9"
+ dependencies:
+ "@vue/devtools-api": ^6.0.0-beta.21
+ vue-demi: "*"
+ peerDependencies:
+ "@vue/composition-api": ^1.4.0
+ typescript: ">=4.4.4"
+ vue: ^2.6.14 || ^3.2.0
+ peerDependenciesMeta:
+ "@vue/composition-api":
+ optional: true
+ typescript:
+ optional: true
+ checksum: f4f29f8db71091b16a808b8f8bdf14693970df467328653752b63cccfcb23196a18c39fd595560c59df9a0e8258840caedbb6a1d69ec7465446efb24f6b18957
+ languageName: node
+ linkType: hard
+
"postcss-js@npm:^4.0.0":
version: 4.0.0
resolution: "postcss-js@npm:4.0.0"
@@ -2047,6 +2710,31 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"prelude-ls@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "prelude-ls@npm:1.2.1"
+ checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a
+ languageName: node
+ linkType: hard
+
+"prettier-linter-helpers@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "prettier-linter-helpers@npm:1.0.0"
+ dependencies:
+ fast-diff: ^1.1.2
+ checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392
+ languageName: node
+ linkType: hard
+
+"prettier@npm:^2.0.0, prettier@npm:^2.5.1":
+ version: 2.5.1
+ resolution: "prettier@npm:2.5.1"
+ bin:
+ prettier: bin-prettier.js
+ checksum: 21b9408476ea1c544b0e45d51ceb94a84789ff92095abb710942d780c862d0daebdb29972d47f6b4d0f7ebbfb0ffbf56cc2cfa3e3e9d1cca54864af185b15b66
+ languageName: node
+ linkType: hard
+
"promise-inflight@npm:^1.0.1":
version: 1.0.1
resolution: "promise-inflight@npm:1.0.1"
@@ -2200,6 +2888,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"punycode@npm:^2.1.0":
+ version: 2.1.1
+ resolution: "punycode@npm:2.1.1"
+ checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
+ languageName: node
+ linkType: hard
+
"queue-microtask@npm:^1.2.2":
version: 1.2.3
resolution: "queue-microtask@npm:1.2.3"
@@ -2234,6 +2929,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"regexpp@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "regexpp@npm:3.2.0"
+ checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8
+ languageName: node
+ linkType: hard
+
"request-light@npm:^0.5.4":
version: 0.5.7
resolution: "request-light@npm:0.5.7"
@@ -2249,28 +2951,28 @@ fsevents@~2.3.2:
linkType: hard
"resolve@^1.15.1, resolve@^1.20.0, resolve@^1.21.0":
- version: 1.21.0
- resolution: "resolve@npm:1.21.0"
+ version: 1.21.1
+ resolution: "resolve@npm:1.21.1"
dependencies:
is-core-module: ^2.8.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: d7d9092a5c04a048bea16c7e5a2eb605ac3e8363a0cc5644de1fde17d5028e8d5f4343aab1d99bd327b98e91a66ea83e242718150c64dfedcb96e5e7aad6c4f5
+ checksum: 4703fbd6ddaebf7a7f7834ca29f5cfa2c64ef7988ac34bcd26148f0d017783d3a475936ffca02add1b9696e0d1db2a75210052c4b08e748e144e2886e575617c
languageName: node
linkType: hard
"resolve@patch:resolve@^1.15.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.21.0#~builtin":
- version: 1.21.0
- resolution: "resolve@patch:resolve@npm%3A1.21.0#~builtin::version=1.21.0&hash=00b1ff"
+ version: 1.21.1
+ resolution: "resolve@patch:resolve@npm%3A1.21.1#~builtin::version=1.21.1&hash=00b1ff"
dependencies:
is-core-module: ^2.8.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: f0784935d62696500b5c57496ac9458d62bc3715aab23a9e79771bd01dcc459ecadb75b10ed1ba675705113e3debfa46e542622f2a1e919f455c1fe7a0b030cc
+ checksum: abab8b2c73c3102c42fb15f1923c5f59f804197b93dc0346228c5fca81ea9ce8926f680d5554d1c9c85b904614211456cf17b35002aafb07a65019bcef70e393
languageName: node
linkType: hard
@@ -2300,8 +3002,8 @@ fsevents@~2.3.2:
linkType: hard
"rollup@npm:^2.59.0":
- version: 2.64.0
- resolution: "rollup@npm:2.64.0"
+ version: 2.65.0
+ resolution: "rollup@npm:2.65.0"
dependencies:
fsevents: ~2.3.2
dependenciesMeta:
@@ -2309,7 +3011,7 @@ fsevents@~2.3.2:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: dc5b28538002ed635ea54af4c2ced05c52146322c61dbe0e84f294ee62e4f232a15760fdcef9bbeb742883edf9bf093ace5389bbdd816d18b9f5740555135180
+ checksum: 666063049e8ff5c7a9d7629f4cb9576aff10756e02b4b5e633ed1df3dc7f148f4579118f2fc7e92d9d5ec96a1dd9b7ea3f3b1706ad6d1259bb3d38a9622b3402
languageName: node
linkType: hard
@@ -2354,6 +3056,22 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"shebang-command@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "shebang-command@npm:2.0.0"
+ dependencies:
+ shebang-regex: ^3.0.0
+ checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa
+ languageName: node
+ linkType: hard
+
+"shebang-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "shebang-regex@npm:3.0.0"
+ checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222
+ languageName: node
+ linkType: hard
+
"signal-exit@npm:^3.0.0":
version: 3.0.6
resolution: "signal-exit@npm:3.0.6"
@@ -2361,6 +3079,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"slash@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "slash@npm:3.0.0"
+ checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c
+ languageName: node
+ linkType: hard
+
"smart-buffer@npm:^4.1.0":
version: 4.2.0
resolution: "smart-buffer@npm:4.2.0"
@@ -2448,6 +3173,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "strip-json-comments@npm:3.1.1"
+ checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
+ languageName: node
+ linkType: hard
+
"supports-color@npm:^5.3.0":
version: 5.5.0
resolution: "supports-color@npm:5.5.0"
@@ -2521,6 +3253,13 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"text-table@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "text-table@npm:0.2.0"
+ checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a
+ languageName: node
+ linkType: hard
+
"to-fast-properties@npm:^2.0.0":
version: 2.0.0
resolution: "to-fast-properties@npm:2.0.0"
@@ -2544,6 +3283,40 @@ fsevents@~2.3.2:
languageName: node
linkType: hard
+"tslib@npm:^1.8.1":
+ version: 1.14.1
+ resolution: "tslib@npm:1.14.1"
+ checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd
+ languageName: node
+ linkType: hard
+
+"tsutils@npm:^3.21.0":
+ version: 3.21.0
+ resolution: "tsutils@npm:3.21.0"
+ dependencies:
+ tslib: ^1.8.1
+ peerDependencies:
+ typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48
+ languageName: node
+ linkType: hard
+
+"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
+ version: 0.4.0
+ resolution: "type-check@npm:0.4.0"
+ dependencies:
+ prelude-ls: ^1.2.1
+ checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a
+ languageName: node
+ linkType: hard
+
+"type-fest@npm:^0.20.2":
+ version: 0.20.2
+ resolution: "type-fest@npm:0.20.2"
+ checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73
+ languageName: node
+ linkType: hard
+
typescript@^4.4.4:
version: 4.5.5
resolution: "typescript@npm:4.5.5"
@@ -2589,6 +3362,15 @@ typescript@^4.4.4:
languageName: node
linkType: hard
+"uri-js@npm:^4.2.2":
+ version: 4.4.1
+ resolution: "uri-js@npm:4.4.1"
+ dependencies:
+ punycode: ^2.1.0
+ checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633
+ languageName: node
+ linkType: hard
+
"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
@@ -2596,6 +3378,13 @@ typescript@^4.4.4:
languageName: node
linkType: hard
+"v8-compile-cache@npm:^2.0.3":
+ version: 2.3.0
+ resolution: "v8-compile-cache@npm:2.3.0"
+ checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e
+ languageName: node
+ linkType: hard
+
"vite@npm:^2.7.2":
version: 2.7.13
resolution: "vite@npm:2.7.13"
@@ -2793,6 +3582,39 @@ typescript@^4.4.4:
languageName: node
linkType: hard
+"vue-demi@npm:*":
+ version: 0.12.1
+ resolution: "vue-demi@npm:0.12.1"
+ peerDependencies:
+ "@vue/composition-api": ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ "@vue/composition-api":
+ optional: true
+ bin:
+ vue-demi-fix: bin/vue-demi-fix.js
+ vue-demi-switch: bin/vue-demi-switch.js
+ checksum: d39a43e765e5bc34cf5b378ccff53a521e824f8c55aae6a9163c294364e8af593c5331b3b3b1b679b28096a3142abed5aed07e2dfb581c96f2eba88a176666f2
+ languageName: node
+ linkType: hard
+
+"vue-eslint-parser@npm:^8.0.0, vue-eslint-parser@npm:^8.0.1":
+ version: 8.1.0
+ resolution: "vue-eslint-parser@npm:8.1.0"
+ dependencies:
+ debug: ^4.3.2
+ eslint-scope: ^7.0.0
+ eslint-visitor-keys: ^3.1.0
+ espree: ^9.0.0
+ esquery: ^1.4.0
+ lodash: ^4.17.21
+ semver: ^7.3.5
+ peerDependencies:
+ eslint: ">=6.0.0"
+ checksum: 3418ef1b4674007aff466ac8a1cf9fe22c468876d801cbc49141155dc5eed60832a9d987c16e9e40fd70e3ed3b476ae2246e7aa8caeb7b8a09d34cfbf54923ea
+ languageName: node
+ linkType: hard
+
"vue-tsc@npm:^0.29.8":
version: 0.29.8
resolution: "vue-tsc@npm:0.29.8"
@@ -2807,20 +3629,20 @@ typescript@^4.4.4:
languageName: node
linkType: hard
-"vue@npm:3.2.27, vue@npm:^3.2.25":
- version: 3.2.27
- resolution: "vue@npm:3.2.27"
+"vue@npm:3.2.28, vue@npm:^3.2.25":
+ version: 3.2.28
+ resolution: "vue@npm:3.2.28"
dependencies:
- "@vue/compiler-dom": 3.2.27
- "@vue/compiler-sfc": 3.2.27
- "@vue/runtime-dom": 3.2.27
- "@vue/server-renderer": 3.2.27
- "@vue/shared": 3.2.27
- checksum: 8af7ea86bd7ae8863c479d38d6908b1004243333fe198138ddc3d277224ed8e28fc7b104d97cb0e7bf2435e25ed45c842672516a12fafef77951c3b031d063ca
+ "@vue/compiler-dom": 3.2.28
+ "@vue/compiler-sfc": 3.2.28
+ "@vue/runtime-dom": 3.2.28
+ "@vue/server-renderer": 3.2.28
+ "@vue/shared": 3.2.28
+ checksum: a72798eb9ce58b4b49a713dfcad8b986d3526172c5307cd4b375da23ec0754d7e0e4ed1111f7c8f848ce4b7290cdbb6da12acf65fad42be366afee96b6e6a74d
languageName: node
linkType: hard
-"which@npm:^2.0.2":
+"which@npm:^2.0.1, which@npm:^2.0.2":
version: 2.0.2
resolution: "which@npm:2.0.2"
dependencies:
@@ -2852,6 +3674,13 @@ typescript@^4.4.4:
languageName: node
linkType: hard
+"word-wrap@npm:^1.2.3":
+ version: 1.2.3
+ resolution: "word-wrap@npm:1.2.3"
+ checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f
+ languageName: node
+ linkType: hard
+
"wrappy@npm:1":
version: 1.0.2
resolution: "wrappy@npm:1.0.2"