Linted project with eslint

This commit is contained in:
2022-11-02 21:48:40 +01:00
parent 2d42605c59
commit f8708909b6
11 changed files with 232 additions and 78 deletions

View File

@@ -9,6 +9,7 @@
"eslint-config-airbnb-base",
"plugin:@typescript-eslint/recommended"
],
"plugins": ["@typescript-eslint"],
"rules": {
"lines-between-class-members": [
@@ -24,8 +25,17 @@
}
],
"no-promise-executor-return": 1,
"import/extensions": "off",
"max-classes-per-file": "off",
"no-shadow": "off",
"no-underscore-dangle": "off",
"@typescript-eslint/no-var-requires": "off"
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".ts"]
}
}
}
}

View File

@@ -2,11 +2,10 @@
"version": "1.0.0",
"scripts": {
"build": "tsc",
"start": "node lib/app.js"
"start": "node lib/app.js",
"lint": "eslint src"
},
"dependencies": {
"eslint": "^8.25.0",
"eslint-config-airbnb-base": "^15.0.0",
"express": "^4.18.2",
"figlet": "^1.5.2",
"typescript": "^4.8.4"
@@ -14,6 +13,9 @@
"devDependencies": {
"@types/node": "^18.11.2",
"@typescript-eslint/eslint-plugin": "^5.40.1",
"@typescript-eslint/parser": "^5.40.1"
"@typescript-eslint/parser": "^5.40.1",
"eslint": "^8.25.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.26.0"
}
}

View File

@@ -1,17 +1,17 @@
import express from "express";
import express from 'express';
import figletontController from "./controllers/figletController";
import modtFontController from "./controllers/motdController";
import fontsController from "./controllers/fontsController";
import requiredQueryMiddleware from "./requiredQueryMiddleware";
import figletontController from './controllers/figletController';
import modtFontController from './controllers/motdController';
import fontsController from './controllers/fontsController';
import requiredQueryMiddleware from './requiredQueryMiddleware';
const app = express();
const port = 3000;
app.get("/figlet", requiredQueryMiddleware, figletontController);
app.get("/motd", requiredQueryMiddleware, modtFontController);
app.get("/fonts", fontsController);
app.get('/figlet', requiredQueryMiddleware, figletontController);
app.get('/motd', requiredQueryMiddleware, modtFontController);
app.get('/fonts', fontsController);
app.listen(port, () => {
console.log(`Figlet generation application listening on port ${port}.`);
console.log(`Figlet generation application listening on port ${port}.`); // eslint-disable-line no-console
});

View File

@@ -1,19 +1,19 @@
import FigletFonts from "../figletFonts";
import IFigletOptions from "../interfaces/IFigletOptions";
import FigletFonts from '../figletFonts';
import IFigletOptions from '../interfaces/IFigletOptions';
const figletFonts = new FigletFonts();
const figletTextController = async (req, res) => {
const { text, font, width } = req.query;
let options: IFigletOptions | Object = {};
let options: IFigletOptions;
if (font) options = { ...options, font };
if (width) options = { ...options, width };
figletFonts.generateText(text, options as IFigletOptions)
.then(data => res.send(data))
figletFonts.generateText(text, options)
.then((data) => res.send(data))
.catch((error) => {
const msg = error?.message || "Unexpected error from generating figlet";
res.status(error?.statusCode || 500).send(msg)
const msg = error?.message || 'Unexpected error from generating figlet';
res.status(error?.statusCode || 500).send(msg);
});
};

View File

@@ -1,14 +1,12 @@
import FigletFonts from "../figletFonts.js";
import FigletFonts from '../figletFonts';
const figletFonts = new FigletFonts();
const fontsController = (req, res) => {
return figletFonts.fonts
.then((fonts) => res.send(fonts))
.catch((error) => {
const msg = error?.message || "Unexpected error from fetching fonts"
res.status(error?.statusCode || 500).send(msg)
});
};
const fontsController = (req, res) => figletFonts.fonts
.then((fonts) => res.send(fonts))
.catch((error) => {
const msg = error?.message || 'Unexpected error from fetching fonts';
res.status(error?.statusCode || 500).send(msg);
});
export default fontsController;

View File

@@ -1,28 +1,28 @@
import FigletFonts from "../figletFonts";
import IFigletOptions from "../interfaces/IFigletOptions";
import FigletFonts from '../figletFonts';
import IFigletOptions from '../interfaces/IFigletOptions';
const figletFonts = new FigletFonts()
const figletFonts = new FigletFonts();
function generateCatOutput(data: string) {
return Promise.resolve(`#!/bin/sh
cat << 'EOF'
${data}
EOF
`)
`);
}
const modtFontController = (req, res) => {
const { text, font, width } = req.query;
let options: IFigletOptions | Object = {};
let options: IFigletOptions;
if (font) options = { ...options, font };
if (width) options = { ...options, width };
figletFonts.generateText(text, options as IFigletOptions)
figletFonts.generateText(text, options)
.then((data) => generateCatOutput(data))
.then((motd) => res.send(motd))
.catch((error) => {
const msg = error?.message || "Unexpected error from generating motd figlet"
res.status(error?.statusCode || 500).send(msg)
const msg = error?.message || 'Unexpected error from generating motd figlet';
res.status(error?.statusCode || 500).send(msg);
});
};

View File

@@ -1,9 +1,9 @@
class MissingTextError extends Error {
error: string
statusCode: number
error: string;
statusCode: number;
constructor(error = null) {
const message = `Missing query parameter 'text'.`;
const message = 'Missing query parameter \'text\'.';
super(message);
this.error = error;
@@ -12,8 +12,8 @@ class MissingTextError extends Error {
}
class FontNotFoundError extends Error {
error: string
statusCode: number
error: string;
statusCode: number;
constructor(font, error = null) {
const message = `Font '${font}' not found. Check /fonts.`;
@@ -25,23 +25,23 @@ class FontNotFoundError extends Error {
}
class UnexpectedFigletError extends Error {
error: string
statusCode: number
error: string;
statusCode: number;
constructor(error) {
const message = "Unexpected error from figlet!"
super(message)
const message = 'Unexpected error from figlet!';
super(message);
this.error = error;
this.statusCode = 500
this.statusCode = 500;
console.log(message)
console.log(error)
console.log(message); // eslint-disable-line no-console
console.log(error); // eslint-disable-line no-console
}
}
export {
MissingTextError,
FontNotFoundError,
UnexpectedFigletError
UnexpectedFigletError,
};

View File

@@ -1,25 +1,24 @@
import figlet from "figlet";
import IFigletOptions from "./interfaces/IFigletOptions";
import { UnexpectedFigletError } from './errors'
import figlet from 'figlet';
import IFigletOptions from './interfaces/IFigletOptions';
import { UnexpectedFigletError } from './errors';
class FigletFonts {
cachedFonts: Array<string>;
defaultFontOptions: IFigletOptions
defaultFontOptions: IFigletOptions;
constructor() {
this.cachedFonts = [];
this.defaultFontOptions = {
font: "Larry 3D",
horizontalLayout: "default",
verticalLayout: "default",
font: 'Larry 3D',
horizontalLayout: 'default',
verticalLayout: 'default',
width: 80,
whitespaceBreak: true,
};
}
static sanitizeLarry(text: string) {
return text.replaceAll("L", "_");
return text.replaceAll('L', '_');
}
generateText(text: string, options: IFigletOptions): Promise<string> {
@@ -34,7 +33,7 @@ class FigletFonts {
return reject(new UnexpectedFigletError(err));
}
resolve(data);
return resolve(data);
});
});
}
@@ -50,7 +49,7 @@ class FigletFonts {
return reject(new UnexpectedFigletError(err));
}
resolve(fonts);
return resolve(fonts);
});
});
}

View File

@@ -1,7 +1,9 @@
export default interface IFigletOptions {
font: string
horizontalLayout: string
verticalLayout: string
width: number
whitespaceBreak: boolean
interface IFigletOptions {
font: string;
width: number;
horizontalLayout?: string;
verticalLayout?: string;
whitespaceBreak?: boolean;
}
export default IFigletOptions;

View File

@@ -1,17 +1,17 @@
import FigletFonts from "./figletFonts";
import { MissingTextError, FontNotFoundError } from "./errors";
import FigletFonts from './figletFonts';
import { MissingTextError, FontNotFoundError } from './errors';
const figletFonts = new FigletFonts();
async function doesFontExist(font: string) {
const fontLowercased = font.toLowerCase();
const fonts: Array<string> = await figletFonts.fonts
const fonts: Array<string> = await figletFonts.fonts;
return fonts.findIndex((_font) => _font.toLowerCase() === fontLowercased) === -1;
}
const requiredQueryMiddleware = async (req, res, next) => {
const { text, font = "" } = req.query;
const { text, font = '' } = req.query;
let error = null;
if (!text || text?.length === 0) {
@@ -24,7 +24,7 @@ const requiredQueryMiddleware = async (req, res, next) => {
if (error) return res.status(error?.statusCode || 500).send(error?.message);
next();
return next();
};
export default requiredQueryMiddleware;

149
yarn.lock
View File

@@ -62,6 +62,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
"@types/node@^18.11.2":
version "18.11.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.2.tgz#c59b7641832531264fda3f1ba610362dc9a7dfc8"
@@ -204,11 +209,32 @@ array-flatten@1.1.1:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
array-includes@^3.1.4:
version "3.1.5"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb"
integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.4"
es-abstract "^1.19.5"
get-intrinsic "^1.1.1"
is-string "^1.0.7"
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
array.prototype.flat@^1.2.5:
version "1.3.0"
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b"
integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.19.2"
es-shim-unscopables "^1.0.0"
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -326,13 +352,20 @@ cross-spawn@^7.0.2:
shebang-command "^2.0.0"
which "^2.0.1"
debug@2.6.9:
debug@2.6.9, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^3.2.7:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
dependencies:
ms "^2.1.1"
debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
@@ -370,6 +403,13 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
dependencies:
esutils "^2.0.2"
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
@@ -387,7 +427,7 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5:
es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5:
version "1.20.4"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861"
integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==
@@ -417,6 +457,13 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5:
string.prototype.trimstart "^1.0.5"
unbox-primitive "^1.0.2"
es-shim-unscopables@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
dependencies:
has "^1.0.3"
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -446,6 +493,40 @@ eslint-config-airbnb-base@^15.0.0:
object.entries "^1.1.5"
semver "^6.3.0"
eslint-import-resolver-node@^0.3.6:
version "0.3.6"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd"
integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==
dependencies:
debug "^3.2.7"
resolve "^1.20.0"
eslint-module-utils@^2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
dependencies:
debug "^3.2.7"
eslint-plugin-import@^2.26.0:
version "2.26.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b"
integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==
dependencies:
array-includes "^3.1.4"
array.prototype.flat "^1.2.5"
debug "^2.6.9"
doctrine "^2.1.0"
eslint-import-resolver-node "^0.3.6"
eslint-module-utils "^2.7.3"
has "^1.0.3"
is-core-module "^2.8.1"
is-glob "^4.0.3"
minimatch "^3.1.2"
object.values "^1.1.5"
resolve "^1.22.0"
tsconfig-paths "^3.14.1"
eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -910,6 +991,13 @@ is-callable@^1.1.4, is-callable@^1.2.7:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-core-module@^2.8.1, is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
@@ -1009,6 +1097,13 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
dependencies:
minimist "^1.2.0"
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -1088,6 +1183,11 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
minimist@^1.2.0, minimist@^1.2.6:
version "1.2.7"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -1098,7 +1198,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@2.1.3:
ms@2.1.3, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -1142,6 +1242,15 @@ object.entries@^1.1.5:
define-properties "^1.1.3"
es-abstract "^1.19.1"
object.values@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.19.1"
on-finished@2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
@@ -1209,6 +1318,11 @@ path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -1288,6 +1402,15 @@ resolve-from@^4.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve@^1.20.0, resolve@^1.22.0:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
reusify@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
@@ -1428,6 +1551,11 @@ strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
@@ -1440,6 +1568,11 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -1457,6 +1590,16 @@ toidentifier@1.0.1:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
tsconfig-paths@^3.14.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
dependencies:
"@types/json5" "^0.0.29"
json5 "^1.0.1"
minimist "^1.2.6"
strip-bom "^3.0.0"
tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"