Chore: Add Eslint rules to tests (#28074)

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
pull/28091/head
Guilherme Gazzo 3 years ago committed by GitHub
parent b51d352111
commit 074cafd37d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      apps/meteor/.eslintcache
  2. 9
      apps/meteor/package.json
  3. 5
      apps/meteor/tests/.eslintrc.json
  4. 40
      apps/meteor/tests/e2e/.eslintrc.json
  5. 10
      apps/meteor/tests/e2e/federation/tests/admin/rooms.spec.ts
  6. 10
      apps/meteor/tests/e2e/federation/tests/admin/users.spec.ts
  7. 8
      apps/meteor/tests/e2e/federation/tests/ce-version/ce.spec.ts
  8. 8
      apps/meteor/tests/e2e/federation/tests/channel/dm.spec.ts
  9. 8
      apps/meteor/tests/e2e/federation/tests/channel/private.spec.ts
  10. 8
      apps/meteor/tests/e2e/federation/tests/channel/public.spec.ts
  11. 8
      apps/meteor/tests/e2e/federation/tests/messaging/dm.spec.ts
  12. 8
      apps/meteor/tests/e2e/federation/tests/messaging/private.spec.ts
  13. 8
      apps/meteor/tests/e2e/federation/tests/messaging/public.spec.ts
  14. 12
      apps/meteor/tests/e2e/federation/tests/user-account/user.spec.ts
  15. 34
      apps/meteor/tests/e2e/federation/utils/channel.ts
  16. 2
      apps/meteor/tests/e2e/federation/utils/test.ts
  17. 132
      yarn.lock

File diff suppressed because one or more lines are too long

@ -24,9 +24,9 @@
"migration:add": "ts-node-transpile-only --skip-project .scripts/make-migration.ts",
"debug": "meteor run --inspect",
"debug-brk": "meteor run --inspect-brk",
"lint": "npm run stylelint && npm run eslint",
"eslint": "eslint --ext .js,.jsx,.ts,.tsx .",
"eslint:fix": "eslint --ext .js,.jsx,.ts,.tsx . --fix",
"lint": "yarn stylelint && yarn eslint",
"eslint": "eslint --ext .js,.jsx,.ts,.tsx . --cache",
"eslint:fix": "eslint --ext .js,.jsx,.ts,.tsx . --fix --cache",
"obj:dev": "TEST_MODE=true yarn dev",
"stylelint": "stylelint \"app/**/*.css\" \"client/**/*.css\" \"app/**/*.less\" \"client/**/*.less\" \"ee/**/*.less\"",
"stylelint:fix": "stylelint --fix \"app/**/*.css\" \"client/**/*.css\" \"app/**/*.less\" \"client/**/*.less\" \"ee/**/*.less\"",
@ -146,7 +146,7 @@
"@types/use-sync-external-store": "^0.0.3",
"@types/uuid": "^8.3.4",
"@types/xml-crypto": "^1.4.2",
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/eslint-plugin": "^5.52.0",
"@typescript-eslint/parser": "^5.30.7",
"autoprefixer": "^9.8.8",
"babel-loader": "^8.3.0",
@ -162,6 +162,7 @@
"eslint": "^8.29.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-no-floating-promise": "^1.0.2",
"eslint-plugin-playwright": "^0.11.2",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.11",

@ -2,8 +2,13 @@
"env": {
"mocha": true
},
"parser": "@typescript-eslint/parser",
"globals": {
"browser": false,
"expect": false
},
"plugins": ["no-floating-promise"],
"rules": {
"no-floating-promise/no-floating-promise": "error"
}
}

@ -0,0 +1,40 @@
{
"root": true,
"extends": ["@rocket.chat/eslint-config/original", "prettier", "plugin:@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser",
"plugins": ["react", "react-hooks", "prettier", "testing-library", "anti-trojan-source", "no-floating-promise"],
"rules": {
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"ignoreRestSiblings": true
}
],
"@typescript-eslint/no-floating-promises": "error",
"import/named": "error",
"import/order": [
"error",
{
"newlines-between": "always",
"groups": ["builtin", "external", "internal", ["parent", "sibling", "index"]],
"alphabetize": {
"order": "asc"
}
}
]
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".ts", ".tsx"]
}
}
},
"env": {
"mocha": true
},
"parserOptions": {
"project": ["./tsconfig.json"]
}
}

@ -1,13 +1,13 @@
import faker from '@faker-js/faker';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername } from '../../utils/format';
import { FederationAdmin } from '../../page-objects/admin';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createChannelUsingAPI } from '../../utils/channel';
import { FederationAdmin } from '../../page-objects/admin';
import { formatIntoFullMatrixUsername } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Admin Panel - Rooms', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,11 +1,11 @@
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationAdmin } from '../../page-objects/admin';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createChannelAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { FederationAdmin } from '../../page-objects/admin';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Admin Panel - Users', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,12 +1,12 @@
import faker from '@faker-js/faker';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername } from '../../utils/format';
import { createGroupAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { formatIntoFullMatrixUsername } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - CE version', () => {
let poFederationChannelServer2: FederationChannel;

@ -1,10 +1,10 @@
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createChannelAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Direct Messages', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,12 +1,12 @@
import faker from '@faker-js/faker';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createGroupAndInviteRemoteUserToCreateLocalUser, createGroupUsingAPI } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Group Creation', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,12 +1,12 @@
import faker from '@faker-js/faker';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createChannelAndInviteRemoteUserToCreateLocalUser, createChannelUsingAPI } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Channel Creation', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,12 +1,12 @@
/* eslint no-await-in-loop: 0 */
import type { Page } from '@playwright/test';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - DM Messaging', () => {
let poFederationChannelServer1: FederationChannel;

@ -2,13 +2,13 @@
import faker from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createGroupAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Group Messaging', () => {
let poFederationChannelServer1: FederationChannel;

@ -2,13 +2,13 @@
import faker from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import { FederationChannel } from '../../page-objects/channel';
import * as constants from '../../config/constants';
import { registerUser } from '../../utils/register-user';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationChannel } from '../../page-objects/channel';
import { doLogin } from '../../utils/auth';
import { createChannelAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - Channel Messaging', () => {
let poFederationChannelServer1: FederationChannel;

@ -1,14 +1,14 @@
import type { Page } from '@playwright/test';
import faker from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
import * as constants from '../../config/constants';
import { FederationAccountProfile } from '../../page-objects/account-profile';
import { FederationChannel } from '../../page-objects/channel';
import { registerUser } from '../../utils/register-user';
import { createChannelAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { doLogin } from '../../utils/auth';
import * as constants from '../../config/constants';
import { createChannelAndInviteRemoteUserToCreateLocalUser } from '../../utils/channel';
import { formatIntoFullMatrixUsername, formatUsernameAndDomainIntoMatrixFormat } from '../../utils/format';
import { FederationAccountProfile } from '../../page-objects/account-profile';
import { registerUser } from '../../utils/register-user';
import { test, expect, setupTesting, tearDownTesting } from '../../utils/test';
test.describe.parallel('Federation - User Account Pannel', () => {
let poFederationChannelServer1: FederationChannel;

@ -5,6 +5,22 @@ import type { FederationChannel } from '../page-objects/channel';
import { doLogin } from './auth';
import type { API } from './test';
const doLoginAndGoToHome = async (
page: Page,
server: {
url: string;
username: string;
password: string;
},
): Promise<void> => {
await doLogin({
page,
server,
});
await page.goto(`${server.url}/home`);
};
export const createChannelAndInviteRemoteUserToCreateLocalUser = async ({
page,
poFederationChannelServer,
@ -34,22 +50,6 @@ export const createChannelAndInviteRemoteUserToCreateLocalUser = async ({
return channelName;
};
const doLoginAndGoToHome = async (
page: Page,
server: {
url: string;
username: string;
password: string;
},
): Promise<void> => {
await doLogin({
page,
server,
});
await page.goto(`${server.url}/home`);
};
export const createGroupAndInviteRemoteUserToCreateLocalUser = async ({
page,
poFederationChannelServer,
@ -71,7 +71,7 @@ export const createGroupAndInviteRemoteUserToCreateLocalUser = async ({
await doLoginAndGoToHome(page, server);
await poFederationChannelServer.createPrivateGroupAndInviteUsersUsingCreationModal(groupName, [fullUsernameFromServer]);
page.close();
await page.close();
return groupName;
};

@ -1,8 +1,8 @@
import type { APIResponse } from '@playwright/test';
import { test as baseTest } from '@playwright/test';
import * as constants from '../config/constants';
import { API_PREFIX } from '../../config/constants';
import * as constants from '../config/constants';
export type AnyObj = { [key: string]: any };

@ -7331,7 +7331,7 @@ __metadata:
"@types/use-sync-external-store": ^0.0.3
"@types/uuid": ^8.3.4
"@types/xml-crypto": ^1.4.2
"@typescript-eslint/eslint-plugin": ^5.30.7
"@typescript-eslint/eslint-plugin": ^5.52.0
"@typescript-eslint/parser": ^5.30.7
"@xmldom/xmldom": ^0.8.2
adm-zip: 0.5.9
@ -7383,6 +7383,7 @@ __metadata:
eslint-config-prettier: ^8.5.0
eslint-plugin-anti-trojan-source: ^1.1.0
eslint-plugin-import: ^2.26.0
eslint-plugin-no-floating-promise: ^1.0.2
eslint-plugin-playwright: ^0.11.2
eslint-plugin-prettier: ^4.2.1
eslint-plugin-react: ^7.31.11
@ -12269,6 +12270,13 @@ __metadata:
languageName: node
linkType: hard
"@types/semver@npm:^7.3.12":
version: 7.3.13
resolution: "@types/semver@npm:7.3.13"
checksum: 00c0724d54757c2f4bc60b5032fe91cda6410e48689633d5f35ece8a0a66445e3e57fa1d6e07eb780f792e82ac542948ec4d0b76eb3484297b79bd18b8cf1cb0
languageName: node
linkType: hard
"@types/serve-static@npm:*":
version: 1.13.10
resolution: "@types/serve-static@npm:1.13.10"
@ -12616,6 +12624,30 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.52.0"
dependencies:
"@typescript-eslint/scope-manager": 5.52.0
"@typescript-eslint/type-utils": 5.52.0
"@typescript-eslint/utils": 5.52.0
debug: ^4.3.4
grapheme-splitter: ^1.0.4
ignore: ^5.2.0
natural-compare-lite: ^1.4.0
regexpp: ^3.2.0
semver: ^7.3.7
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: cff07ee94d8ab2a1b6c33b5c5bf641eff2bf2bebc0f35a9d8b3f128fd610e27a4aaf620bc2ad23608ad161b1810b7e32e5a2e0f746cc5094c3f506f7a14daa34
languageName: node
linkType: hard
"@typescript-eslint/experimental-utils@npm:^5.3.0":
version: 5.36.2
resolution: "@typescript-eslint/experimental-utils@npm:5.36.2"
@ -12664,6 +12696,16 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/scope-manager@npm:5.52.0"
dependencies:
"@typescript-eslint/types": 5.52.0
"@typescript-eslint/visitor-keys": 5.52.0
checksum: 9a03fe30f8e90a5106c482478f213eefdd09f2f74e24d9dc59b453885466a758fe6d1cd24d706aed6188fb03c84b16ca6491cf20da6b16b8fc53cad8b8c327f2
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:5.30.7":
version: 5.30.7
resolution: "@typescript-eslint/type-utils@npm:5.30.7"
@ -12680,6 +12722,23 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/type-utils@npm:5.52.0"
dependencies:
"@typescript-eslint/typescript-estree": 5.52.0
"@typescript-eslint/utils": 5.52.0
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
eslint: "*"
peerDependenciesMeta:
typescript:
optional: true
checksum: ac5422040461febab8a2eeec76d969024ccff76203dec357f7220c9b5e0dde96e3e3a76fd4118d42b50bd5bfb3a194aaceeb63417a2ac4e1ebf5e687558a9a10
languageName: node
linkType: hard
"@typescript-eslint/types@npm:5.30.7":
version: 5.30.7
resolution: "@typescript-eslint/types@npm:5.30.7"
@ -12694,6 +12753,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/types@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/types@npm:5.52.0"
checksum: 018940d61aebf7cf3f7de1b9957446e2ea01f08fe950bef4788c716a3a88f7c42765fe7d80152b0d0428fcd4bd3ace2dfa8c459ba1c59d9a84e951642180f869
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.30.7":
version: 5.30.7
resolution: "@typescript-eslint/typescript-estree@npm:5.30.7"
@ -12730,6 +12796,24 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/typescript-estree@npm:5.52.0"
dependencies:
"@typescript-eslint/types": 5.52.0
"@typescript-eslint/visitor-keys": 5.52.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
semver: ^7.3.7
tsutils: ^3.21.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 67d396907fee3d6894e26411a5098a37f07e5d50343189e6361ff7db91c74a7ffe2abd630d11f14c2bda1f4af13edf52b80b11cbccb55b44079c7cec14c9e108
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:5.30.7":
version: 5.30.7
resolution: "@typescript-eslint/utils@npm:5.30.7"
@ -12762,6 +12846,24 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/utils@npm:5.52.0"
dependencies:
"@types/json-schema": ^7.0.9
"@types/semver": ^7.3.12
"@typescript-eslint/scope-manager": 5.52.0
"@typescript-eslint/types": 5.52.0
"@typescript-eslint/typescript-estree": 5.52.0
eslint-scope: ^5.1.1
eslint-utils: ^3.0.0
semver: ^7.3.7
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: 01906be5262ece36537e9d586e4d2d4791e05752a9354bcb42b1f5bf965f53daa13309c61c3dff5e201ea28c298e4e01cf0c93738afa0099fea0da3b1d8cb3a5
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:5.30.7":
version: 5.30.7
resolution: "@typescript-eslint/visitor-keys@npm:5.30.7"
@ -12782,6 +12884,16 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:5.52.0":
version: 5.52.0
resolution: "@typescript-eslint/visitor-keys@npm:5.52.0"
dependencies:
"@typescript-eslint/types": 5.52.0
eslint-visitor-keys: ^3.3.0
checksum: 33b44f0cd35b7b47f34e89d52e47b8d8200f55af306b22db4de104d79f65907458ea022e548f50d966e32fea150432ac9c1ae65b3001b0ad2ac8a17c0211f370
languageName: node
linkType: hard
"@ungap/promise-all-settled@npm:1.1.2":
version: 1.1.2
resolution: "@ungap/promise-all-settled@npm:1.1.2"
@ -19417,6 +19529,15 @@ __metadata:
languageName: node
linkType: hard
"eslint-plugin-no-floating-promise@npm:^1.0.2":
version: 1.0.2
resolution: "eslint-plugin-no-floating-promise@npm:1.0.2"
dependencies:
requireindex: 1.2.0
checksum: fe4f3c1b0b60775508e86dfe2ad14fd1bf2020b48cd3222e665f1d9f29179428b7bcbc136dd6f2ab12a7edfd95f5ad3c4b96f8a6c9600cbc73da307a792b84d2
languageName: node
linkType: hard
"eslint-plugin-playwright@npm:^0.11.2":
version: 0.11.2
resolution: "eslint-plugin-playwright@npm:0.11.2"
@ -28463,6 +28584,13 @@ __metadata:
languageName: node
linkType: hard
"natural-compare-lite@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare-lite@npm:1.4.0"
checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225
languageName: node
linkType: hard
"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
@ -33498,7 +33626,7 @@ __metadata:
languageName: node
linkType: hard
"requireindex@npm:^1.1.0":
"requireindex@npm:1.2.0, requireindex@npm:^1.1.0":
version: 1.2.0
resolution: "requireindex@npm:1.2.0"
checksum: 50d8b10a1ff1fdf6aea7a1870bc7bd238b0fb1917d8d7ca17fd03afc38a65dcd7a8a4eddd031f89128b5f0065833d5c92c4fef67f2c04e8624057fe626c9cf94

Loading…
Cancel
Save