mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
chore: Add path alias to api package (#107)
small dev ex improvement:
Before: `import { ... } from '../../../fixtures';`
After: `import { ... } from '@/fixtures';`
after checking out, rebuild `api` and `task-check-alerts` containers:
```sh
docker compose -f docker-compose.dev.yml up -d --no-deps --build task-check-alerts api
```
This commit is contained in:
parent
c56fe9c0a7
commit
42969f243e
36 changed files with 128 additions and 109 deletions
5
.changeset/friendly-ravens-rule.md
Normal file
5
.changeset/friendly-ravens-rule.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@hyperdx/api': patch
|
||||
---
|
||||
|
||||
chore: Add path aliases
|
||||
|
|
@ -6,4 +6,7 @@ module.exports = {
|
|||
rootDir: './src',
|
||||
testMatch: ['**/__tests__/*.test.ts?(x)'],
|
||||
testTimeout: 30000,
|
||||
moduleNameMapper: {
|
||||
'@/(.*)$': '<rootDir>/$1',
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -77,12 +77,13 @@
|
|||
"supertest": "^6.3.1",
|
||||
"ts-jest": "^28.0.5",
|
||||
"ts-node": "^10.8.1",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^4.9.5"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node ./build/index.js",
|
||||
"dev": "nodemon --signal SIGTERM -e ts,json --exec 'ts-node' --transpile-only -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/index.ts",
|
||||
"dev:task": "ts-node -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/tasks/index.ts",
|
||||
"dev": "nodemon --signal SIGTERM -e ts,json --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/index.ts",
|
||||
"dev:task": "ts-node -r tsconfig-paths/register -r tsconfig-paths/register -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/tasks/index.ts",
|
||||
"build": "rimraf ./build && tsc",
|
||||
"lint": "eslint . --ext .ts",
|
||||
"ci:lint": "yarn lint && yarn tsc --noEmit",
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ import {
|
|||
} from '@clickhouse/client/dist/logger';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import * as config from '../config';
|
||||
import logger from '../utils/logger';
|
||||
import { sleep } from '../utils/common';
|
||||
import * as config from '@/config';
|
||||
import logger from '@/utils/logger';
|
||||
import { sleep } from '@/utils/common';
|
||||
import {
|
||||
LogsPropertyTypeMappingsModel,
|
||||
MetricsPropertyTypeMappingsModel,
|
||||
|
|
@ -36,7 +36,7 @@ import type {
|
|||
LogStreamModel,
|
||||
MetricModel,
|
||||
RrwebEventModel,
|
||||
} from '../utils/logParser';
|
||||
} from '@/utils/logParser';
|
||||
|
||||
const tracer = opentelemetry.trace.getTracer(__filename);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import ms from 'ms';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import logger from '../utils/logger';
|
||||
import redisClient from '../utils/redis';
|
||||
import { IS_DEV } from '../config';
|
||||
import logger from '@/utils/logger';
|
||||
import redisClient from '@/utils/redis';
|
||||
import { IS_DEV } from '@/config';
|
||||
|
||||
import type { ResponseJSON } from '@clickhouse/client';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import SqlString from 'sqlstring';
|
|||
import lucene from '@hyperdx/lucene';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import { LogPlatform, LogType } from '../utils/logParser';
|
||||
import { LogPlatform, LogType } from '@/utils/logParser';
|
||||
import { PropertyTypeMappingsModel } from './propertyTypeMappingsModel';
|
||||
|
||||
function encodeSpecialTokens(query: string): string {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { clearDBCollections, closeDB, connectDB } from '../../fixtures';
|
||||
import { createTeam, getTeam, getTeamByApiKey } from '../../controllers/team';
|
||||
import { clearDBCollections, closeDB, connectDB } from '@/fixtures';
|
||||
import { createTeam, getTeam, getTeamByApiKey } from '@/controllers/team';
|
||||
|
||||
describe('team controller', () => {
|
||||
beforeAll(async () => {
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import Alert, {
|
|||
AlertInterval,
|
||||
AlertType,
|
||||
AlertSource,
|
||||
} from '../models/alert';
|
||||
import * as clickhouse from '../clickhouse';
|
||||
import { SQLSerializer } from '../clickhouse/searchQueryParser';
|
||||
} from '@/models/alert';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import { SQLSerializer } from '@/clickhouse/searchQueryParser';
|
||||
import ms from 'ms';
|
||||
|
||||
export type AlertInput = {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
import Team from '../models/team';
|
||||
import Team from '@/models/team';
|
||||
|
||||
import type { ObjectId } from '../models';
|
||||
import type { ObjectId } from '@/models';
|
||||
|
||||
export async function isTeamExisting() {
|
||||
const teamCount = await Team.countDocuments({});
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import User from '../models/user';
|
||||
import User from '@/models/user';
|
||||
|
||||
import type { ObjectId } from '../models';
|
||||
import type { ObjectId } from '@/models';
|
||||
|
||||
export function findUserById(id: string) {
|
||||
return User.findById(id);
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import type { Request, Response, NextFunction } from 'express';
|
|||
import { serializeError } from 'serialize-error';
|
||||
import { setTraceAttributes } from '@hyperdx/node-opentelemetry';
|
||||
|
||||
import * as config from '../config';
|
||||
import logger from '../utils/logger';
|
||||
import * as config from '@/config';
|
||||
import logger from '@/utils/logger';
|
||||
|
||||
import type { UserDocument } from '../models/user';
|
||||
import type { UserDocument } from '@/models/user';
|
||||
|
||||
declare global {
|
||||
namespace Express {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import cors from 'cors';
|
||||
import { FRONTEND_URL } from '../config';
|
||||
import { FRONTEND_URL } from '@/config';
|
||||
|
||||
export const noCors = cors();
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import type { Request, Response, NextFunction } from 'express';
|
|||
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import logger from '../utils/logger';
|
||||
import { BaseError, StatusCode, isOperationalError } from '../utils/errors';
|
||||
import logger from '@/utils/logger';
|
||||
import { BaseError, StatusCode, isOperationalError } from '@/utils/errors';
|
||||
|
||||
// WARNING: need to keep the 4th arg for express to identify it as an error-handling middleware function
|
||||
export const appErrorHandler = (
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import mongoose from 'mongoose';
|
||||
|
||||
import * as config from '../config';
|
||||
import logger from '../utils/logger';
|
||||
import * as config from '@/config';
|
||||
import logger from '@/utils/logger';
|
||||
|
||||
export type ObjectId = mongoose.Types.ObjectId;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
import express from 'express';
|
||||
import groupBy from 'lodash/groupBy';
|
||||
|
||||
import * as config from '../../config';
|
||||
import logger from '../../utils/logger';
|
||||
import * as config from '@/config';
|
||||
import logger from '@/utils/logger';
|
||||
import {
|
||||
bulkInsertRrwebEvents,
|
||||
bulkInsertTeamLogStream,
|
||||
bulkInsertTeamMetricStream,
|
||||
} from '../../clickhouse';
|
||||
} from '@/clickhouse';
|
||||
import {
|
||||
extractApiKey,
|
||||
vectorLogParser,
|
||||
vectorMetricParser,
|
||||
vectorRrwebParser,
|
||||
} from '../../utils/logParser';
|
||||
import { getTeamByApiKey } from '../../controllers/team';
|
||||
} from '@/utils/logParser';
|
||||
import { getTeamByApiKey } from '@/controllers/team';
|
||||
|
||||
import type { VectorLog, VectorMetric } from '../../utils/logParser';
|
||||
import type { VectorLog, VectorMetric } from '@/utils/logParser';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import {
|
|||
clearDBCollections,
|
||||
getLoggedInAgent,
|
||||
getServer,
|
||||
} from '../../../fixtures';
|
||||
} from '@/fixtures';
|
||||
|
||||
const randomId = () => Math.random().toString(36).substring(7);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import {
|
|||
closeDB,
|
||||
getLoggedInAgent,
|
||||
getServer,
|
||||
} from '../../../fixtures';
|
||||
} from '@/fixtures';
|
||||
|
||||
describe('team router', () => {
|
||||
const server = getServer();
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import express from 'express';
|
|||
import { z } from 'zod';
|
||||
import { validateRequest } from 'zod-express-middleware';
|
||||
|
||||
import Alert from '../../models/alert';
|
||||
import { getTeam } from '../../controllers/team';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import Alert from '@/models/alert';
|
||||
import { getTeam } from '@/controllers/team';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
import {
|
||||
createAlert,
|
||||
updateAlert,
|
||||
validateGroupByProperty,
|
||||
} from '../../controllers/alerts';
|
||||
} from '@/controllers/alerts';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import express from 'express';
|
||||
|
||||
import Dashboard from '../../models/dashboard';
|
||||
import Alert from '../../models/alert';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import Dashboard from '@/models/dashboard';
|
||||
import Alert from '@/models/alert';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
import { validateRequest } from 'zod-express-middleware';
|
||||
import { z } from 'zod';
|
||||
import { groupBy, differenceBy } from 'lodash';
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import express from 'express';
|
||||
|
||||
import Alert from '../../models/alert';
|
||||
import LogView from '../../models/logView';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import Alert from '@/models/alert';
|
||||
import LogView from '@/models/logView';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ import { serializeError } from 'serialize-error';
|
|||
import { validateRequest } from 'zod-express-middleware';
|
||||
import { z } from 'zod';
|
||||
|
||||
import * as clickhouse from '../../clickhouse';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import logger from '../../utils/logger';
|
||||
import { LimitedSizeQueue } from '../../utils/queue';
|
||||
import { customColumnMapType } from '../../clickhouse/searchQueryParser';
|
||||
import { getLogsPatterns } from '../../utils/miner';
|
||||
import { getTeam } from '../../controllers/team';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
import logger from '@/utils/logger';
|
||||
import { LimitedSizeQueue } from '@/utils/queue';
|
||||
import { customColumnMapType } from '@/clickhouse/searchQueryParser';
|
||||
import { getLogsPatterns } from '@/utils/miner';
|
||||
import { getTeam } from '@/controllers/team';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import express from 'express';
|
|||
import opentelemetry, { SpanStatusCode } from '@opentelemetry/api';
|
||||
import { isNumber, parseInt } from 'lodash';
|
||||
|
||||
import * as clickhouse from '../../clickhouse';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,17 +3,17 @@ import { serializeError } from 'serialize-error';
|
|||
import { z } from 'zod';
|
||||
import { validateRequest } from 'zod-express-middleware';
|
||||
|
||||
import * as config from '../../config';
|
||||
import User from '../../models/user'; // TODO -> do not import model directly
|
||||
import logger from '../../utils/logger';
|
||||
import passport from '../../utils/passport';
|
||||
import { Api404Error } from '../../utils/errors';
|
||||
import { isTeamExisting, createTeam, getTeam } from '../../controllers/team';
|
||||
import * as config from '@/config';
|
||||
import User from '@/models/user'; // TODO -> do not import model directly
|
||||
import logger from '@/utils/logger';
|
||||
import passport from '@/utils/passport';
|
||||
import { Api404Error } from '@/utils/errors';
|
||||
import { isTeamExisting, createTeam, getTeam } from '@/controllers/team';
|
||||
import {
|
||||
isUserAuthenticated,
|
||||
redirectToDashboard,
|
||||
handleAuthError,
|
||||
} from '../../middleware/auth';
|
||||
} from '@/middleware/auth';
|
||||
|
||||
const registrationSchema = z
|
||||
.object({
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import opentelemetry, { SpanStatusCode } from '@opentelemetry/api';
|
|||
import { isNumber, parseInt } from 'lodash';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import * as clickhouse from '../../clickhouse';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import logger from '../../utils/logger';
|
||||
import { getTeam } from '../../controllers/team';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
import logger from '@/utils/logger';
|
||||
import { getTeam } from '@/controllers/team';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,17 +5,14 @@ import isemail from 'isemail';
|
|||
import pick from 'lodash/pick';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import * as config from '../../config';
|
||||
import TeamInvite from '../../models/teamInvite';
|
||||
import User from '../../models/user';
|
||||
import logger from '../../utils/logger';
|
||||
import { findUserByEmail, findUsersByTeam } from '../../controllers/user';
|
||||
import { getTeam, rotateTeamApiKey } from '../../controllers/team';
|
||||
import {
|
||||
isUserAuthenticated,
|
||||
redirectToDashboard,
|
||||
} from '../../middleware/auth';
|
||||
import { validatePassword } from '../../utils/validators';
|
||||
import * as config from '@/config';
|
||||
import TeamInvite from '@/models/teamInvite';
|
||||
import User from '@/models/user';
|
||||
import logger from '@/utils/logger';
|
||||
import { findUserByEmail, findUsersByTeam } from '@/controllers/user';
|
||||
import { getTeam, rotateTeamApiKey } from '@/controllers/team';
|
||||
import { isUserAuthenticated, redirectToDashboard } from '@/middleware/auth';
|
||||
import { validatePassword } from '@/utils/validators';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import express from 'express';
|
||||
|
||||
import Webhook from '../../models/webhook';
|
||||
import { isUserAuthenticated } from '../../middleware/auth';
|
||||
import Webhook from '@/models/webhook';
|
||||
import { isUserAuthenticated } from '@/middleware/auth';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -8,20 +8,20 @@ import * as fnsTz from 'date-fns-tz';
|
|||
import ms from 'ms';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import * as clickhouse from '../clickhouse';
|
||||
import * as config from '../config';
|
||||
import * as slack from '../utils/slack';
|
||||
import Alert, { AlertState, IAlert, AlertSource } from '../models/alert';
|
||||
import AlertHistory, { IAlertHistory } from '../models/alertHistory';
|
||||
import LogView from '../models/logView';
|
||||
import Webhook from '../models/webhook';
|
||||
import logger from '../utils/logger';
|
||||
import { ITeam } from '../models/team';
|
||||
import { ObjectId } from '../models';
|
||||
import { truncateString } from '../utils/common';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import * as config from '@/config';
|
||||
import * as slack from '@/utils/slack';
|
||||
import Alert, { AlertState, IAlert, AlertSource } from '@/models/alert';
|
||||
import AlertHistory, { IAlertHistory } from '@/models/alertHistory';
|
||||
import LogView from '@/models/logView';
|
||||
import Webhook from '@/models/webhook';
|
||||
import logger from '@/utils/logger';
|
||||
import { ITeam } from '@/models/team';
|
||||
import { ObjectId } from '@/models';
|
||||
import { truncateString } from '@/utils/common';
|
||||
|
||||
import type { ResponseJSON } from '@clickhouse/client';
|
||||
import type { LogSearchRow } from '../clickhouse';
|
||||
import type { LogSearchRow } from '@/clickhouse';
|
||||
|
||||
const MAX_MESSAGE_LENGTH = 500;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import schedule from 'node-schedule';
|
|||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import checkAlerts from './checkAlerts';
|
||||
import logger from '../utils/logger';
|
||||
import redisClient from '../utils/redis';
|
||||
import logger from '@/utils/logger';
|
||||
import redisClient from '@/utils/redis';
|
||||
import refreshPropertyTypeMappings from './refreshPropertyTypeMappings';
|
||||
import { IS_DEV } from '../config';
|
||||
import { connectDB, mongooseConnection } from '../models';
|
||||
import { IS_DEV } from '@/config';
|
||||
import { connectDB, mongooseConnection } from '@/models';
|
||||
|
||||
const main = async () => {
|
||||
const argv = minimist(process.argv.slice(2));
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
// --------------------------------------------------------
|
||||
import ms from 'ms';
|
||||
|
||||
import * as clickhouse from '../clickhouse';
|
||||
import Team from '../models/team';
|
||||
import logger from '../utils/logger';
|
||||
import { LogsPropertyTypeMappingsModel } from '../clickhouse/propertyTypeMappingsModel';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import Team from '@/models/team';
|
||||
import logger from '@/utils/logger';
|
||||
import { LogsPropertyTypeMappingsModel } from '@/clickhouse/propertyTypeMappingsModel';
|
||||
|
||||
const MAX_PROCESS_TEAMS = 30;
|
||||
const LOG_PREFIX = '[refreshPropertyTypeMappings]';
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ import url from 'url';
|
|||
import winston from 'winston';
|
||||
import { HyperDXWinston } from '@hyperdx/node-logger';
|
||||
|
||||
import * as clickhouse from '../clickhouse';
|
||||
import * as config from '../config';
|
||||
import Team from '../models/team';
|
||||
import User from '../models/user';
|
||||
import * as clickhouse from '@/clickhouse';
|
||||
import * as config from '@/config';
|
||||
import Team from '@/models/team';
|
||||
import User from '@/models/user';
|
||||
|
||||
import type { ResponseJSON } from '@clickhouse/client';
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import {
|
|||
HYPERDX_LOG_LEVEL,
|
||||
INGESTOR_API_URL,
|
||||
IS_PROD,
|
||||
} from '../config';
|
||||
} from '@/config';
|
||||
|
||||
// LOCAL DEV ONLY
|
||||
addColors({
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import axios from 'axios';
|
||||
import ms from 'ms';
|
||||
|
||||
import * as config from '../config';
|
||||
import * as config from '@/config';
|
||||
import logger from './logger';
|
||||
|
||||
const MAX_LOG_LINES = 1e4;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import passport from 'passport';
|
|||
import { Strategy as LocalStrategy } from 'passport-local';
|
||||
|
||||
import logger from './logger';
|
||||
import User from '../models/user';
|
||||
import { findUserById } from '../controllers/user';
|
||||
import User from '@/models/user';
|
||||
import { findUserById } from '@/controllers/user';
|
||||
|
||||
import type { UserDocument } from '../models/user';
|
||||
import type { UserDocument } from '@/models/user';
|
||||
|
||||
passport.serializeUser(function (user, done) {
|
||||
done(null, (user as any)._id);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { createClient } from 'redis';
|
||||
import { serializeError } from 'serialize-error';
|
||||
|
||||
import * as config from '../config';
|
||||
import logger from '../utils/logger';
|
||||
import * as config from '@/config';
|
||||
import logger from '@/utils/logger';
|
||||
|
||||
const client = createClient({
|
||||
url: config.REDIS_URL,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./src",
|
||||
"paths": {
|
||||
"@/*": ["./*"]
|
||||
},
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"downlevelIteration": true,
|
||||
"esModuleInterop": true,
|
||||
|
|
|
|||
|
|
@ -15175,6 +15175,15 @@ tsconfig-paths@^4.1.2:
|
|||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tsconfig-paths@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c"
|
||||
integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
|
||||
dependencies:
|
||||
json5 "^2.2.2"
|
||||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@2.5.3:
|
||||
version "2.5.3"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913"
|
||||
|
|
|
|||
Loading…
Reference in a new issue