mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-09-03 05:10:00 +03:00
somewhat working esm conversion
This commit is contained in:
Generated
+9
-136
@@ -22,7 +22,7 @@
|
||||
"@reduxjs/toolkit": "^1.9.5",
|
||||
"@supercharge/promise-pool": "^3.0.0",
|
||||
"address": "^1.2.2",
|
||||
"ajv": "^7.2.4",
|
||||
"ajv": "^8.12.0",
|
||||
"avahi-browse": "^1.1.4",
|
||||
"better-sse": "^0.8.0",
|
||||
"body-parser": "^1.19.0",
|
||||
@@ -122,7 +122,7 @@
|
||||
"ts-node": "^10.7.0",
|
||||
"tsconfig-paths": "^3.13.0",
|
||||
"typedoc": "^0.23.28",
|
||||
"typescript": "^4.9.5",
|
||||
"typescript": "^5.3.3",
|
||||
"typescript-json-schema": "~0.55",
|
||||
"vite": "^5.0.11",
|
||||
"vite-tsconfig-paths": "^4.3.1",
|
||||
@@ -6559,9 +6559,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "7.2.4",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz",
|
||||
"integrity": "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==",
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
@@ -6590,22 +6590,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-colors": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
||||
@@ -8950,22 +8934,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/css-minimizer-webpack-plugin/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
@@ -10620,22 +10588,6 @@
|
||||
"webpack": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-webpack-plugin/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
@@ -17383,22 +17335,6 @@
|
||||
"webpack": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mini-css-extract-plugin/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
@@ -24668,16 +24604,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.9.5",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
|
||||
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
|
||||
"version": "5.3.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
||||
"devOptional": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.2.0"
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/typescript-json-schema": {
|
||||
@@ -25133,21 +25069,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vite-tsconfig-paths/node_modules/typescript": {
|
||||
"version": "5.3.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/vite/node_modules/rollup": {
|
||||
"version": "4.9.5",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz",
|
||||
@@ -25428,22 +25349,6 @@
|
||||
"webpack": "^4.0.0 || ^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-dev-middleware/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-dev-middleware/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
@@ -25543,22 +25448,6 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-dev-server/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-dev-server/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
@@ -26157,22 +26046,6 @@
|
||||
"ajv": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/workbox-build/node_modules/ajv": {
|
||||
"version": "8.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/workbox-build/node_modules/source-map": {
|
||||
"version": "0.8.0-beta.0",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
|
||||
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "multi-scrobbler",
|
||||
"version": "0.6.3",
|
||||
"type": "module",
|
||||
"description": "scrobble plays from multiple sources to multiple clients",
|
||||
"scripts": {
|
||||
"schema": "npm run -s schema-aio & npm run -s schema-source & npm run -s schema-client & npm run -s schema-aiosource & npm run -s schema-aioclient",
|
||||
@@ -63,7 +64,7 @@
|
||||
"@reduxjs/toolkit": "^1.9.5",
|
||||
"@supercharge/promise-pool": "^3.0.0",
|
||||
"address": "^1.2.2",
|
||||
"ajv": "^7.2.4",
|
||||
"ajv": "^8.12.0",
|
||||
"avahi-browse": "^1.1.4",
|
||||
"better-sse": "^0.8.0",
|
||||
"body-parser": "^1.19.0",
|
||||
@@ -163,7 +164,7 @@
|
||||
"ts-node": "^10.7.0",
|
||||
"tsconfig-paths": "^3.13.0",
|
||||
"typedoc": "^0.23.28",
|
||||
"typescript": "^4.9.5",
|
||||
"typescript": "^5.3.3",
|
||||
"typescript-json-schema": "~0.55",
|
||||
"vite": "^5.0.11",
|
||||
"vite-tsconfig-paths": "^4.3.1",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import path from "path";
|
||||
import { projectDir } from "./index";
|
||||
import winston, {format, LeveledLogMethod, Logger} from '@foxxmd/winston';
|
||||
import * as winstonNs from '@foxxmd/winston';
|
||||
import winstonDef from '@foxxmd/winston';
|
||||
import {DuplexTransport} from "winston-duplex";
|
||||
import { asLogOptions, LogConfig, LogOptions } from "./infrastructure/Atomic";
|
||||
import process from "process";
|
||||
@@ -13,22 +14,23 @@ import stringify from 'safe-stable-stringify';
|
||||
import {SPLAT, LEVEL, MESSAGE} from 'triple-beam';
|
||||
import { LogInfo, LogLevel } from "../../core/Atomic";
|
||||
import TransportStream from "winston-transport";
|
||||
import {format} from 'logform';
|
||||
|
||||
const {combine, printf, timestamp, label, splat, errors} = format;
|
||||
|
||||
|
||||
const {transports} = winston;
|
||||
//const {transports} = winstonNew;
|
||||
const {loggers, transports} = winstonDef;
|
||||
|
||||
export let logPath = path.resolve(projectDir, `./logs`);
|
||||
if (typeof process.env.CONFIG_DIR === 'string') {
|
||||
logPath = path.resolve(process.env.CONFIG_DIR, './logs');
|
||||
}
|
||||
|
||||
winston.loggers.add('noop', {transports: [new NullTransport()]});
|
||||
loggers.add('noop', {transports: [new NullTransport()]});
|
||||
|
||||
export const getLogger = (config: LogConfig = {}, name = 'app'): Logger => {
|
||||
export const getLogger = (config: LogConfig = {}, name = 'app'): winstonNs.Logger => {
|
||||
|
||||
if (!winston.loggers.has(name)) {
|
||||
if (!loggers.has(name)) {
|
||||
const errors: (Error | string)[] = [];
|
||||
|
||||
let options: LogOptions = {};
|
||||
@@ -96,15 +98,15 @@ export const getLogger = (config: LogConfig = {}, name = 'app'): Logger => {
|
||||
}
|
||||
}
|
||||
|
||||
const loggerOptions: winston.LoggerOptions = {
|
||||
const loggerOptions: winstonNs.LoggerOptions = {
|
||||
level: level,
|
||||
format: labelledFormat(),
|
||||
transports: myTransports,
|
||||
};
|
||||
|
||||
winston.loggers.add(name, loggerOptions);
|
||||
loggers.add(name, loggerOptions);
|
||||
|
||||
const logger = winston.loggers.get(name);
|
||||
const logger = loggers.get(name);
|
||||
if (errors.length > 0) {
|
||||
for (const e of errors) {
|
||||
logger.error(e);
|
||||
@@ -113,7 +115,7 @@ export const getLogger = (config: LogConfig = {}, name = 'app'): Logger => {
|
||||
logger.log
|
||||
return logger;
|
||||
}
|
||||
return winston.loggers.get(name);
|
||||
return loggers.get(name);
|
||||
}
|
||||
|
||||
const breakSymbol = '<br />';
|
||||
@@ -369,9 +371,9 @@ const _transformError = (err: Error, seen: Set<Error>) => {
|
||||
}
|
||||
|
||||
export class MaybeLogger {
|
||||
logger?: Logger
|
||||
logger?: winstonNs.Logger
|
||||
|
||||
constructor(logger?: Logger, label?: string) {
|
||||
constructor(logger?: winstonNs.Logger, label?: string) {
|
||||
if (logger !== undefined && label !== undefined) {
|
||||
this.logger = logger.child({labels: [label]}, mergeArr);
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ export class KodiApiClient extends AbstractApiClient {
|
||||
|
||||
token?: string;
|
||||
|
||||
client: KodiClient;
|
||||
declare client: KodiClient;
|
||||
|
||||
constructor(name: any, config: KodiData, options = {}) {
|
||||
super('Kodi', name, config, options);
|
||||
|
||||
@@ -14,7 +14,8 @@ import {Logger} from "@foxxmd/winston";
|
||||
import {formatLogToHtml, getLogger, isLogLevelMinLevel, isLogLineMinLevel} from "../common/logging";
|
||||
import {MESSAGE} from "triple-beam";
|
||||
import {Transform} from "stream";
|
||||
import {createSession} from "better-sse";
|
||||
//import {createSession} from "better-sse";
|
||||
import * as bsse from 'better-sse';
|
||||
import {setupTautulliRoutes} from "./tautulliRoutes";
|
||||
import {setupPlexRoutes} from "./plexRoutes";
|
||||
import {setupJellyfinRoutes} from "./jellyfinRoutes";
|
||||
@@ -119,7 +120,7 @@ export const setupApi = (app: ExpressWithAsync, logger: Logger, initialLogOutput
|
||||
}
|
||||
|
||||
app.get('/api/logs/stream', setLogWebSettings, async (req, res) => {
|
||||
const session = await createSession(req, res);
|
||||
const session = await bsse.createSession(req, res);
|
||||
await session.stream(logObjectStream);
|
||||
});
|
||||
|
||||
@@ -142,7 +143,7 @@ export const setupApi = (app: ExpressWithAsync, logger: Logger, initialLogOutput
|
||||
});
|
||||
|
||||
app.get('/api/events', async (req, res) => {
|
||||
const session = await createSession(req, res);
|
||||
const session = await bsse.createSession(req, res);
|
||||
scrobbleSources.emitter.on('*', (payload: any, eventName: string) => {
|
||||
if(payload.from !== undefined) {
|
||||
session.push({event: eventName, ...payload}, payload.from);
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"sourceMap": true,
|
||||
"resolveJsonModule": true,
|
||||
"target": "ESNext",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"lib": ["es2020", "dom"],
|
||||
"module": "commonjs",
|
||||
"target": "es2020",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"esnext"
|
||||
],
|
||||
|
||||
"typeRoots": [
|
||||
"../../node_modules/@types",
|
||||
@@ -17,8 +19,6 @@
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
"**/*.js",
|
||||
"../core/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
|
||||
@@ -4,7 +4,9 @@ import utc from 'dayjs/plugin/utc.js';
|
||||
import {Logger} from '@foxxmd/winston';
|
||||
import JSON5 from 'json5';
|
||||
import {TimeoutError, WebapiError} from "spotify-web-api-node/src/response-error.js";
|
||||
import Ajv, {Schema} from 'ajv';
|
||||
import {Schema} from 'ajv';
|
||||
import * as AjvNS from 'ajv';
|
||||
import Ajv from 'ajv';
|
||||
import {
|
||||
asPlayerStateData,
|
||||
NO_DEVICE,
|
||||
@@ -26,6 +28,7 @@ import {Duration} from "dayjs/plugin/duration.js";
|
||||
import {PlayObject} from "../core/Atomic";
|
||||
import address from "address";
|
||||
|
||||
//const { default: Ajv } = AjvNS;
|
||||
dayjs.extend(utc);
|
||||
|
||||
export async function readJson(this: any, path: any, {throwOnNotFound = true} = {}) {
|
||||
@@ -348,7 +351,7 @@ export const parseDurationFromTimestamp = (timestamp: any) => {
|
||||
}
|
||||
|
||||
export const createAjvFactory = (logger: Logger): Ajv => {
|
||||
const validator = new Ajv({logger: logger, verbose: true, strict: "log", allowUnionTypes: true});
|
||||
const validator = new AjvNS.default({logger: logger, verbose: true, strict: "log", allowUnionTypes: true});
|
||||
// https://ajv.js.org/strict-mode.html#unknown-keywords
|
||||
validator.addKeyword('deprecationMessage');
|
||||
return validator;
|
||||
@@ -364,7 +367,7 @@ export const validateJson = <T>(config: object, schema: Schema, logger: Logger):
|
||||
if (Array.isArray(ajv.errors)) {
|
||||
for (const err of ajv.errors) {
|
||||
let parts = [
|
||||
`At: ${err.dataPath}`,
|
||||
`At: ${err.instancePath}`,
|
||||
];
|
||||
let data;
|
||||
if (typeof err.data === 'string') {
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ function App() {
|
||||
<a href="/" className="flex items-center flex-grow no-underline pr-4">
|
||||
<img src="icon.svg" style={{maxWidth: '30px'}}/>
|
||||
<span className="px-4 break-normal">
|
||||
Multi Scrobbler <span className="ml-2 text-xs version">v{process.env.REACT_APP_VERSION ?? 'Unknown'}</span>
|
||||
Multi Scrobbler <span className="ml-2 text-xs version">v</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"moduleResolution": "Bundler",
|
||||
"jsx": "react-jsx"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-11
@@ -2,11 +2,7 @@
|
||||
"compilerOptions": {
|
||||
"useDefineForClassFields": true,
|
||||
"target": "ESNext",
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"esnext"
|
||||
],
|
||||
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
||||
"allowJs": false,
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": true,
|
||||
@@ -25,10 +21,4 @@
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"exclude": [
|
||||
"src/backend",
|
||||
"coverage",
|
||||
"docsite",
|
||||
"build"
|
||||
],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user