From b22bd265fcaeb1e410d03950e0fe29f723bc402f Mon Sep 17 00:00:00 2001 From: Anselm Date: Fri, 11 Aug 2023 09:54:07 +0100 Subject: [PATCH] Make sure relative imports have extension --- .eslintrc.cjs | 19 +++-- package.json | 8 +- src/coValue.test.ts | 7 +- src/coValue.ts | 22 +++--- src/contentType.test.ts | 6 +- src/contentType.ts | 12 +-- src/contentTypes/coList.ts | 8 +- src/contentTypes/coMap.ts | 12 +-- src/contentTypes/coStream.ts | 8 +- src/contentTypes/static.ts | 10 +-- src/crypto.test.ts | 2 +- src/crypto.ts | 4 +- src/index.ts | 16 ++-- src/jsonValue.ts | 2 +- src/node.ts | 13 ++-- src/permissions.test.ts | 10 +-- src/permissions.ts | 14 ++-- src/sync.test.ts | 14 ++-- src/sync.ts | 12 +-- tsconfig.json | 8 +- yarn.lock | 143 ++--------------------------------- 21 files changed, 107 insertions(+), 243 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 132650d83..6a35dbe61 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,18 +1,21 @@ module.exports = { extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:require-extensions/recommended", ], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint", "require-extensions"], parserOptions: { - project: './tsconfig.json', + project: "./tsconfig.json", }, root: true, rules: { "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }], + "@typescript-eslint/no-unused-vars": [ + "error", + { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, + ], "@typescript-eslint/no-floating-promises": "error", }, - - }; \ No newline at end of file +}; diff --git a/package.json b/package.json index 987cb2787..c8c485211 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,13 @@ "types": "src/index.ts", "type": "module", "license": "MIT", - "version": "0.0.7", + "version": "0.0.8", "devDependencies": { "@types/jest": "^29.5.3", "@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/parser": "^6.2.1", - "esbuild": "^0.19.0", "eslint": "^8.46.0", + "eslint-plugin-require-extensions": "^0.1.3", "jest": "^29.6.2", "ts-jest": "^29.1.1", "typescript": "5.0.2" @@ -26,7 +26,9 @@ }, "scripts": { "test": "jest", - "build": "esbuild `find src \\( -name '*.ts' -o -name '*.tsx' \\)` --out-extension:.js=.mjs --platform=node --target=node14 --outdir=dist" + "lint": "eslint src/**/*.ts", + "build": "npm run lint && rm -rf ./dist && tsc --declaration --sourceMap --outDir dist", + "prepublishOnly": "npm run build" }, "jest": { "preset": "ts-jest", diff --git a/src/coValue.test.ts b/src/coValue.test.ts index bc221034b..340afb2b8 100644 --- a/src/coValue.test.ts +++ b/src/coValue.test.ts @@ -1,13 +1,12 @@ import { - CoValue, Transaction, getAgent, getAgentID, newRandomAgentCredential, newRandomSessionID, -} from "./coValue"; -import { LocalNode } from "./node"; -import { createdNowUnique, sign, uniquenessForHeader } from "./crypto"; +} from './coValue.js'; +import { LocalNode } from './node.js'; +import { createdNowUnique, sign } from './crypto.js'; test("Can create coValue with new agent credentials and add transaction to it", () => { const agentCredential = newRandomAgentCredential("agent1"); diff --git a/src/coValue.ts b/src/coValue.ts index ecd0593e3..a8ff227b0 100644 --- a/src/coValue.ts +++ b/src/coValue.ts @@ -1,8 +1,8 @@ import { randomBytes } from "@noble/hashes/utils"; -import { ContentType } from "./contentType"; -import { Static } from "./contentTypes/static"; -import { CoStream } from "./contentTypes/coStream"; -import { CoMap } from "./contentTypes/coMap"; +import { ContentType } from './contentType.js'; +import { Static } from './contentTypes/static.js'; +import { CoStream } from './contentTypes/coStream.js'; +import { CoMap } from './contentTypes/coMap.js'; import { Encrypted, Hash, @@ -29,19 +29,19 @@ import { recipientSecretToBytes, signatorySecretFromBytes, recipientSecretFromBytes, -} from "./crypto"; -import { JsonValue } from "./jsonValue"; +} from './crypto.js'; +import { JsonValue } from './jsonValue.js'; import { base58 } from "@scure/base"; import { PermissionsDef as RulesetDef, Team, determineValidTransactions, expectTeamContent, -} from "./permissions"; -import { LocalNode } from "./node"; -import { CoValueKnownState, NewContentMessage } from "./sync"; -import { AgentID, RawCoValueID, SessionID, TransactionID } from "./ids"; -import { CoList } from "./contentTypes/coList"; +} from './permissions.js'; +import { LocalNode } from './node.js'; +import { CoValueKnownState, NewContentMessage } from './sync.js'; +import { AgentID, RawCoValueID, SessionID, TransactionID } from './ids.js'; +import { CoList } from './contentTypes/coList.js'; export type CoValueHeader = { type: ContentType["type"]; diff --git a/src/contentType.test.ts b/src/contentType.test.ts index 7e11f4327..3979c0316 100644 --- a/src/contentType.test.ts +++ b/src/contentType.test.ts @@ -4,9 +4,9 @@ import { getAgentID, newRandomAgentCredential, newRandomSessionID, -} from "./coValue"; -import { createdNowUnique } from "./crypto"; -import { LocalNode } from "./node"; +} from './coValue.js'; +import { createdNowUnique } from "./crypto.js"; +import { LocalNode } from "./node.js"; test("Empty COJSON Map works", () => { const agentCredential = newRandomAgentCredential("agent1"); diff --git a/src/contentType.ts b/src/contentType.ts index 8f389e10e..7c3d9529a 100644 --- a/src/contentType.ts +++ b/src/contentType.ts @@ -1,9 +1,9 @@ -import { JsonValue } from "./jsonValue"; -import { RawCoValueID } from "./ids"; -import { CoMap } from "./contentTypes/coMap"; -import { CoStream } from "./contentTypes/coStream"; -import { Static } from "./contentTypes/static"; -import { CoList } from "./contentTypes/coList"; +import { JsonValue } from './jsonValue.js'; +import { RawCoValueID } from './ids.js'; +import { CoMap } from './contentTypes/coMap.js'; +import { CoStream } from './contentTypes/coStream.js'; +import { Static } from './contentTypes/static.js'; +import { CoList } from './contentTypes/coList.js'; export type CoValueID = RawCoValueID & { readonly __type: T; diff --git a/src/contentTypes/coList.ts b/src/contentTypes/coList.ts index 4ea8c1f6b..8dad1b52e 100644 --- a/src/contentTypes/coList.ts +++ b/src/contentTypes/coList.ts @@ -1,10 +1,10 @@ -import { JsonObject, JsonValue } from "../jsonValue"; -import { CoValueID } from "../contentType"; -import { CoValue } from "../coValue"; +import { JsonObject, JsonValue } from '../jsonValue.js'; +import { CoValueID } from '../contentType.js'; +import { CoValue } from '../coValue.js'; export class CoList { id: CoValueID>; - type: "colist" = "colist"; + type = "colist" as const; coValue: CoValue; constructor(coValue: CoValue) { diff --git a/src/contentTypes/coMap.ts b/src/contentTypes/coMap.ts index 6fd45aa32..a25def337 100644 --- a/src/contentTypes/coMap.ts +++ b/src/contentTypes/coMap.ts @@ -1,7 +1,7 @@ -import { JsonObject, JsonValue } from "../jsonValue"; -import { TransactionID } from "../ids"; -import { CoValueID } from "../contentType"; -import { CoValue } from "../coValue"; +import { JsonObject, JsonValue } from '../jsonValue.js'; +import { TransactionID } from '../ids.js'; +import { CoValueID } from '../contentType.js'; +import { CoValue } from '../coValue.js'; type MapOp = { txID: TransactionID; @@ -31,7 +31,7 @@ export class CoMap< > { id: CoValueID>; coValue: CoValue; - type: "comap" = "comap"; + type = "comap" as const; ops: { [KK in K]?: MapOp[]; }; @@ -61,7 +61,7 @@ export class CoMap< txID, madeAt, changeIdx, - ...(change as any), + ...(change as MapOpPayload), }); } } diff --git a/src/contentTypes/coStream.ts b/src/contentTypes/coStream.ts index ab17583ad..daa040d91 100644 --- a/src/contentTypes/coStream.ts +++ b/src/contentTypes/coStream.ts @@ -1,10 +1,10 @@ -import { JsonObject, JsonValue } from "../jsonValue"; -import { CoValueID } from "../contentType"; -import { CoValue } from "../coValue"; +import { JsonObject, JsonValue } from '../jsonValue.js'; +import { CoValueID } from '../contentType.js'; +import { CoValue } from '../coValue.js'; export class CoStream { id: CoValueID>; - type: "costream" = "costream"; + type = "costream" as const; coValue: CoValue; constructor(coValue: CoValue) { diff --git a/src/contentTypes/static.ts b/src/contentTypes/static.ts index db17d1e18..fafc82e57 100644 --- a/src/contentTypes/static.ts +++ b/src/contentTypes/static.ts @@ -1,10 +1,10 @@ -import { JsonObject, JsonValue } from "../jsonValue"; -import { CoValueID } from "../contentType"; -import { CoValue } from "../coValue"; +import { JsonObject, JsonValue } from '../jsonValue.js'; +import { CoValueID } from '../contentType.js'; +import { CoValue } from '../coValue.js'; export class Static { id: CoValueID>; - type: "static" = "static"; + type = "static" as const; coValue: CoValue; constructor(coValue: CoValue) { @@ -16,7 +16,7 @@ export class Static { throw new Error("Method not implemented."); } - subscribe(listener: (coMap: Static) => void): () => void { + subscribe(_listener: (coMap: Static) => void): () => void { throw new Error("Method not implemented."); } } diff --git a/src/crypto.test.ts b/src/crypto.test.ts index fa04d4695..f4a4bdac1 100644 --- a/src/crypto.test.ts +++ b/src/crypto.test.ts @@ -14,7 +14,7 @@ import { decryptForTransaction, sealKeySecret, unsealKeySecret, -} from "./crypto"; +} from './crypto.js'; import { base58, base64url } from "@scure/base"; import { x25519 } from "@noble/curves/ed25519"; import { xsalsa20_poly1305 } from "@noble/ciphers/salsa"; diff --git a/src/crypto.ts b/src/crypto.ts index 10fc7a6e2..d8e23c569 100644 --- a/src/crypto.ts +++ b/src/crypto.ts @@ -1,11 +1,11 @@ import { ed25519, x25519 } from "@noble/curves/ed25519"; import { xsalsa20_poly1305, xsalsa20 } from "@noble/ciphers/salsa"; -import { JsonValue } from "./jsonValue"; +import { JsonValue } from './jsonValue.js'; import { base58, base64url } from "@scure/base"; import stableStringify from "fast-json-stable-stringify"; import { blake3 } from "@noble/hashes/blake3"; import { randomBytes } from "@noble/ciphers/webcrypto/utils"; -import { RawCoValueID, TransactionID } from "./ids"; +import { RawCoValueID, TransactionID } from './ids.js'; export type SignatorySecret = `signatorySecret_z${string}`; export type SignatoryID = `signatory_z${string}`; diff --git a/src/index.ts b/src/index.ts index 76f03e963..6fb7864d5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,15 +6,15 @@ import { getAgentID, newRandomAgentCredential, newRandomSessionID, -} from "./coValue"; -import { LocalNode } from "./node"; -import { CoMap } from "./contentTypes/coMap"; +} from './coValue.js'; +import { LocalNode } from './node.js'; +import { CoMap } from './contentTypes/coMap.js'; -import type { AgentCredential } from "./coValue"; -import type { AgentID, SessionID } from "./ids"; -import type { CoValueID, ContentType } from "./contentType"; -import type { JsonValue } from "./jsonValue"; -import type { SyncMessage } from "./sync"; +import type { AgentCredential } from './coValue.js'; +import type { AgentID, SessionID } from './ids.js'; +import type { CoValueID, ContentType } from './contentType.js'; +import type { JsonValue } from './jsonValue.js'; +import type { SyncMessage } from './sync.js'; type Value = JsonValue | ContentType; diff --git a/src/jsonValue.ts b/src/jsonValue.ts index 67bc29e0c..6a0ebf747 100644 --- a/src/jsonValue.ts +++ b/src/jsonValue.ts @@ -1,4 +1,4 @@ -import { CoValueID, ContentType } from "./contentType"; +import { CoValueID, ContentType } from './contentType.js'; export type JsonAtom = string | number | boolean | null; export type JsonValue = JsonAtom | JsonArray | JsonObject | CoValueID; diff --git a/src/node.ts b/src/node.ts index 76474f0b0..3810dea1f 100644 --- a/src/node.ts +++ b/src/node.ts @@ -1,4 +1,4 @@ -import { createdNowUnique, newRandomKeySecret, seal } from "./crypto"; +import { createdNowUnique, newRandomKeySecret, seal } from './crypto.js'; import { CoValue, AgentCredential, @@ -7,13 +7,12 @@ import { getAgentID, getAgentCoValueHeader, CoValueHeader, - agentIDfromSessionID, newRandomAgentCredential, -} from "./coValue"; -import { Team, expectTeamContent } from "./permissions"; -import { SyncManager } from "./sync"; -import { AgentID, RawCoValueID, SessionID } from "./ids"; -import { CoValueID, ContentType } from "."; +} from './coValue.js'; +import { Team, expectTeamContent } from './permissions.js'; +import { SyncManager } from './sync.js'; +import { AgentID, RawCoValueID, SessionID } from './ids.js'; +import { CoValueID, ContentType } from './contentType.js'; export class LocalNode { coValues: { [key: RawCoValueID]: CoValueState } = {}; diff --git a/src/permissions.test.ts b/src/permissions.test.ts index 86c550799..ea25a66c7 100644 --- a/src/permissions.test.ts +++ b/src/permissions.test.ts @@ -3,17 +3,17 @@ import { getAgentID, newRandomAgentCredential, newRandomSessionID, -} from "./coValue"; -import { LocalNode } from "./node"; -import { expectMap } from "./contentType"; -import { expectTeamContent } from "./permissions"; +} from './coValue.js'; +import { LocalNode } from './node.js'; +import { expectMap } from './contentType.js'; +import { expectTeamContent } from './permissions.js'; import { createdNowUnique, getRecipientID, newRandomKeySecret, seal, sealKeySecret, -} from "./crypto"; +} from './crypto.js'; function teamWithTwoAdmins() { const { team, admin, adminID, node } = newTeam(); diff --git a/src/permissions.ts b/src/permissions.ts index efe8027ac..d1af46acc 100644 --- a/src/permissions.ts +++ b/src/permissions.ts @@ -1,6 +1,6 @@ -import { ContentType } from "./contentType"; -import { CoMap, MapOpPayload } from "./contentTypes/coMap"; -import { JsonValue } from "./jsonValue"; +import { ContentType } from './contentType.js'; +import { CoMap, MapOpPayload } from './contentTypes/coMap.js'; +import { JsonValue } from './jsonValue.js'; import { Encrypted, KeyID, @@ -12,16 +12,16 @@ import { newRandomKeySecret, seal, sealKeySecret, -} from "./crypto"; +} from './crypto.js'; import { AgentCredential, CoValue, Transaction, TrustingTransaction, agentIDfromSessionID, -} from "./coValue"; -import { LocalNode } from "."; -import { AgentID, RawCoValueID, SessionID, TransactionID } from "./ids"; +} from './coValue.js'; +import { LocalNode } from "./node.js"; +import { AgentID, RawCoValueID, SessionID, TransactionID } from './ids.js'; export type PermissionsDef = | { type: "team"; initialAdmin: AgentID; parentTeams?: RawCoValueID[] } diff --git a/src/sync.test.ts b/src/sync.test.ts index 460a80f1c..91fc4a484 100644 --- a/src/sync.test.ts +++ b/src/sync.test.ts @@ -3,18 +3,18 @@ import { getAgentID, newRandomAgentCredential, newRandomSessionID, -} from "./coValue"; -import { LocalNode } from "./node"; -import { Peer, PeerID, SyncMessage } from "./sync"; -import { expectMap } from "./contentType"; -import { MapOpPayload } from "./contentTypes/coMap"; -import { Team } from "./permissions"; +} from './coValue.js'; +import { LocalNode } from './node.js'; +import { Peer, PeerID, SyncMessage } from './sync.js'; +import { expectMap } from './contentType.js'; +import { MapOpPayload } from './contentTypes/coMap.js'; +import { Team } from './permissions.js'; import { ReadableStream, WritableStream, TransformStream, } from "isomorphic-streams"; -import { AgentID } from "./ids"; +import { AgentID } from './ids.js'; test( "Node replies with initial tx and header to empty subscribe", diff --git a/src/sync.ts b/src/sync.ts index cd40324d1..1d580d8b1 100644 --- a/src/sync.ts +++ b/src/sync.ts @@ -1,10 +1,10 @@ -import { Hash, Signature } from "./crypto"; -import { CoValueHeader, Transaction } from "./coValue"; -import { CoValue } from "./coValue"; -import { LocalNode } from "./node"; -import { newLoadingState } from "./node"; +import { Hash, Signature } from './crypto.js'; +import { CoValueHeader, Transaction } from './coValue.js'; +import { CoValue } from './coValue.js'; +import { LocalNode } from './node.js'; +import { newLoadingState } from './node.js'; import { ReadableStream, WritableStream, WritableStreamDefaultWriter } from "isomorphic-streams"; -import { RawCoValueID, SessionID } from "./ids"; +import { RawCoValueID, SessionID } from './ids.js'; export type CoValueKnownState = { coValueID: RawCoValueID; diff --git a/tsconfig.json b/tsconfig.json index a255db408..12d1abe71 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,18 +2,12 @@ "compilerOptions": { "lib": ["ESNext"], "module": "esnext", - "target": "esnext", + "target": "ES2020", "moduleResolution": "bundler", "moduleDetection": "force", - "allowImportingTsExtensions": true, "strict": true, - "downlevelIteration": true, "skipLibCheck": true, - "jsx": "preserve", - "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "allowJs": true, - "noEmit": true, "noUncheckedIndexedAccess": true, "esModuleInterop": true, }, diff --git a/yarn.lock b/yarn.lock index de95ff376..774bc2db4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -301,116 +301,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@esbuild/android-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.0.tgz#c5ea635bdbe9b83d1f78a711120814e716439029" - integrity sha512-AzsozJnB+RNaDncBCs3Ys5g3kqhPFUueItfEaCpp89JH2naFNX2mYDIvUgPYMqqjm8hiFoo+jklb3QHZyR3ubw== - -"@esbuild/android-arm@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.0.tgz#6eb6e1fbc0dbfafa035aaef8b5ecde25b539fcf9" - integrity sha512-GAkjUyHgWTYuex3evPd5V7uV/XS4LMKr1PWHRPW1xNyy/Jx08x3uTrDFRefBYLKT/KpaWM8/YMQcwbp5a3yIDA== - -"@esbuild/android-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.0.tgz#99f154f71f5b92e778468bcf0f425d166c17bf20" - integrity sha512-SUG8/qiVhljBDpdkHQ9DvOWbp7hFFIP0OzxOTptbmVsgBgzY6JWowmMd6yJuOhapfxmj/DrvwKmjRLvVSIAKZg== - -"@esbuild/darwin-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.0.tgz#2fcc11abf95fbabbf9167db6a11d899385bd777b" - integrity sha512-HkxZ8k3Jvcw0FORPNTavA8BMgQjLOB6AajT+iXmil7BwY3gU1hWvJJAyWyEogCmA4LdbGvKF8vEykdmJ4xNJJQ== - -"@esbuild/darwin-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.0.tgz#b5bbde35468db093fdf994880b0eb4b62613b67c" - integrity sha512-9IRWJjqpWFHM9a5Qs3r3bK834NCFuDY5ZaLrmTjqE+10B6w65UMQzeZjh794JcxpHolsAHqwsN/33crUXNCM2Q== - -"@esbuild/freebsd-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.0.tgz#3f64c76dc590f79cc40acef6b22dd5eb89fc2125" - integrity sha512-s7i2WcXcK0V1PJHVBe7NsGddsL62a9Vhpz2U7zapPrwKoFuxPP9jybwX8SXnropR/AOj3ppt2ern4ItblU6UQQ== - -"@esbuild/freebsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.0.tgz#14d497e9e858fba2bb9b16130602b7f5944bc09c" - integrity sha512-NMdBSSdgwHCqCsucU5k1xflIIRU0qi1QZnM6+vdGy5fvxm1c8rKh50VzsWsIVTFUG3l91AtRxVwoz3Lcvy3I5w== - -"@esbuild/linux-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.0.tgz#0f2f4d8889f7dc89681c306d7312aa76445a5f65" - integrity sha512-I4zvE2srSZxRPapFnNqj+NL3sDJ1wkvEZqt903OZUlBBgigrQMvzUowvP/TTTu2OGYe1oweg5MFilfyrElIFag== - -"@esbuild/linux-arm@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.0.tgz#0b0f79dc72884f0ad02c0aabfc969a0bee7f6775" - integrity sha512-2F1+lH7ZBcCcgxiSs8EXQV0PPJJdTNiNcXxDb61vzxTRJJkXX1I/ye9mAhfHyScXzHaEibEXg1Jq9SW586zz7w== - -"@esbuild/linux-ia32@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.0.tgz#dfcece1f5e74d0e7db090475e48b28d9aa270687" - integrity sha512-dz2Q7+P92r1Evc8kEN+cQnB3qqPjmCrOZ+EdBTn8lEc1yN8WDgaDORQQiX+mxaijbH8npXBT9GxUqE52Gt6Y+g== - -"@esbuild/linux-loong64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.0.tgz#710f5bd55db3f5d9ebac8773ea49795261a35ca7" - integrity sha512-IcVJovJVflih4oFahhUw+N7YgNbuMSVFNr38awb0LNzfaiIfdqIh518nOfYaNQU3aVfiJnOIRVJDSAP4k35WxA== - -"@esbuild/linux-mips64el@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.0.tgz#a918b310f9bf31fced3853ca52fee6e7acc09824" - integrity sha512-bZGRAGySMquWsKw0gIdsClwfvgbsSq/7oq5KVu1H1r9Il+WzOcfkV1hguntIuBjRVL8agI95i4AukjdAV2YpUw== - -"@esbuild/linux-ppc64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.0.tgz#104771ef6ce2719ac17031f6b9ed8aa98f8e5faf" - integrity sha512-3LC6H5/gCDorxoRBUdpLV/m7UthYSdar0XcCu+ypycQxMS08MabZ06y1D1yZlDzL/BvOYliRNRWVG/YJJvQdbg== - -"@esbuild/linux-riscv64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.0.tgz#83beafa472ad4224adcd4d7469e3a17ba1fbd976" - integrity sha512-jfvdKjWk+Cp2sgLtEEdSHXO7qckrw2B2eFBaoRdmfhThqZs29GMMg7q/LsQpybA7BxCLLEs4di5ucsWzZC5XPA== - -"@esbuild/linux-s390x@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.0.tgz#edc26cb41d8745716bda9c26bac1f0001eaad029" - integrity sha512-ofcucfNLkoXmcnJaw9ugdEOf40AWKGt09WBFCkpor+vFJVvmk/8OPjl/qRtks2Z7BuZbG3ztJuK1zS9z5Cgx9A== - -"@esbuild/linux-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.0.tgz#80a6b5e55ad454e0c0af5bdb267335287e331007" - integrity sha512-Fpf7zNDBti3xrQKQKLdXT0hTyOxgFdRJIMtNy8x1az9ATR9/GJ1brYbB/GLWoXhKiHsoWs+2DLkFVNNMTCLEwA== - -"@esbuild/netbsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.0.tgz#2e6e8d869b58aea34bab9c0c47f15ae1bda29a90" - integrity sha512-AMQAp/5oENgDOvVhvOlbhVe1pWii7oFAMRHlmTjSEMcpjTpIHtFXhv9uAFgUERHm3eYtNvS9Vf+gT55cwuI6Aw== - -"@esbuild/openbsd-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.0.tgz#ca0817d3ab332afb0d8d96a2eb42b4d8ebaa8715" - integrity sha512-fDztEve1QUs3h/Dw2AUmBlWGkNQbhDoD05ppm5jKvzQv+HVuV13so7m5RYeiSMIC2XQy7PAjZh+afkxAnCRZxA== - -"@esbuild/sunos-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.0.tgz#8de27de2563cb3eb6c1af066b6d7fcb1229fe3d4" - integrity sha512-bKZzJ2/rvUjDzA5Ddyva2tMk89WzNJEibZEaq+wY6SiqPlwgFbqyQLimouxLHiHh1itb5P3SNCIF1bc2bw5H9w== - -"@esbuild/win32-arm64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.0.tgz#67c2b410ff8862be2cd61145ad21e11be00fb914" - integrity sha512-NQJ+4jmnA79saI+sE+QzcEls19uZkoEmdxo7r//PDOjIpX8pmoWtTnWg6XcbnO7o4fieyAwb5U2LvgWynF4diA== - -"@esbuild/win32-ia32@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.0.tgz#cac8992219c6d943bb22226e4afeb3774a29cca1" - integrity sha512-uyxiZAnsfu9diHm9/rIH2soecF/HWLXYUhJKW4q1+/LLmNQ+55lRjvSUDhUmsgJtSUscRJB/3S4RNiTb9o9mCg== - -"@esbuild/win32-x64@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.0.tgz#fa5f12c96811cec3233a53bdbf61d1a05ba9018f" - integrity sha512-jl+NXUjK2StMgqnZnqgNjZuerFG8zQqWXMBZdMMv4W/aO1ZKQaYWZBxTrtWKphkCBVEMh0wMVfGgOd2BjOZqUQ== - "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -1326,34 +1216,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -esbuild@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.0.tgz#f187e4ce3bcc7396d13f408a991655efeba65282" - integrity sha512-i7i8TP4vuG55bKeLyqqk5sTPu1ZjPH3wkcLvAj/0X/222iWFo3AJUYRKjbOoY6BWFMH3teizxHEdV9Su5ESl0w== - optionalDependencies: - "@esbuild/android-arm" "0.19.0" - "@esbuild/android-arm64" "0.19.0" - "@esbuild/android-x64" "0.19.0" - "@esbuild/darwin-arm64" "0.19.0" - "@esbuild/darwin-x64" "0.19.0" - "@esbuild/freebsd-arm64" "0.19.0" - "@esbuild/freebsd-x64" "0.19.0" - "@esbuild/linux-arm" "0.19.0" - "@esbuild/linux-arm64" "0.19.0" - "@esbuild/linux-ia32" "0.19.0" - "@esbuild/linux-loong64" "0.19.0" - "@esbuild/linux-mips64el" "0.19.0" - "@esbuild/linux-ppc64" "0.19.0" - "@esbuild/linux-riscv64" "0.19.0" - "@esbuild/linux-s390x" "0.19.0" - "@esbuild/linux-x64" "0.19.0" - "@esbuild/netbsd-x64" "0.19.0" - "@esbuild/openbsd-x64" "0.19.0" - "@esbuild/sunos-x64" "0.19.0" - "@esbuild/win32-arm64" "0.19.0" - "@esbuild/win32-ia32" "0.19.0" - "@esbuild/win32-x64" "0.19.0" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -1374,6 +1236,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-plugin-require-extensions@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-require-extensions/-/eslint-plugin-require-extensions-0.1.3.tgz#394aeab433f996797a6ceba0a3f75640d4846bc8" + integrity sha512-T3c1PZ9PIdI3hjV8LdunfYI8gj017UQjzAnCrxuo3wAjneDbTPHdE3oNWInOjMA+z/aBkUtlW5vC0YepYMZIug== + eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"