From 054b8b727d50f06e24293853e0be3b37b682e606 Mon Sep 17 00:00:00 2001 From: Sasha <118575614+weboko@users.noreply.github.com> Date: Sat, 30 Aug 2025 00:56:54 +0200 Subject: [PATCH] chore: enforce index re-exports --- .eslintrc.json | 12 +++++++ packages/message-encryption/src/index.ts | 7 ++-- packages/rln/src/index.ts | 41 +++++++----------------- packages/rln/src/keystore/index.ts | 7 ++-- packages/sds/src/index.ts | 18 +++++------ 5 files changed, 37 insertions(+), 48 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index b0f23f93c4..e4d7c0995d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -93,6 +93,18 @@ ] }, "overrides": [ + { + "files": ["packages/*/src/index.ts"], + "rules": { + "no-restricted-syntax": [ + "error", + { + "selector": "Program > :not(ExportNamedDeclaration, ExportAllDeclaration, TSTypeAliasDeclaration, TSInterfaceDeclaration)", + "message": "index.ts should only contain re-export statements" + } + ] + } + }, { "files": ["*.spec.ts", "**/test_utils/*.ts", "*.js", "*.cjs"], "rules": { diff --git a/packages/message-encryption/src/index.ts b/packages/message-encryption/src/index.ts index 79b6753833..6e6fd6d973 100644 --- a/packages/message-encryption/src/index.ts +++ b/packages/message-encryption/src/index.ts @@ -1,12 +1,9 @@ -import { +export { generatePrivateKey, generateSymmetricKey, getPublicKey } from "./crypto/index.js"; -import { DecodedMessage } from "./decoded_message.js"; - -export { generatePrivateKey, generateSymmetricKey, getPublicKey }; -export type { DecodedMessage }; +export type { DecodedMessage } from "./decoded_message.js"; export * as ecies from "./ecies.js"; export * as symmetric from "./symmetric.js"; diff --git a/packages/rln/src/index.ts b/packages/rln/src/index.ts index 0a07db7810..8fc66bd6d3 100644 --- a/packages/rln/src/index.ts +++ b/packages/rln/src/index.ts @@ -1,32 +1,15 @@ -import { RLNDecoder, RLNEncoder } from "./codec.js"; -import { RLN_ABI } from "./contract/abi/rln.js"; -import { RLN_CONTRACT, RLNContract } from "./contract/index.js"; -import { RLNBaseContract } from "./contract/rln_base_contract.js"; -import { createRLN } from "./create.js"; -import { RLNCredentialsManager } from "./credentials_manager.js"; -import { IdentityCredential } from "./identity.js"; -import { Keystore } from "./keystore/index.js"; -import { Proof } from "./proof.js"; -import { RLNInstance } from "./rln.js"; -import { MerkleRootTracker } from "./root_tracker.js"; -import { extractMetaMaskSigner } from "./utils/index.js"; - -export { - RLNCredentialsManager, - RLNBaseContract, - createRLN, - Keystore, - RLNInstance, - IdentityCredential, - Proof, - RLNEncoder, - RLNDecoder, - MerkleRootTracker, - RLNContract, - RLN_CONTRACT, - extractMetaMaskSigner, - RLN_ABI -}; +export { RLNDecoder, RLNEncoder } from "./codec.js"; +export { RLN_ABI } from "./contract/abi/rln.js"; +export { RLN_CONTRACT, RLNContract } from "./contract/index.js"; +export { RLNBaseContract } from "./contract/rln_base_contract.js"; +export { createRLN } from "./create.js"; +export { RLNCredentialsManager } from "./credentials_manager.js"; +export { IdentityCredential } from "./identity.js"; +export { Keystore } from "./keystore/index.js"; +export { Proof } from "./proof.js"; +export { RLNInstance } from "./rln.js"; +export { MerkleRootTracker } from "./root_tracker.js"; +export { extractMetaMaskSigner } from "./utils/index.js"; export type { DecryptedCredentials, diff --git a/packages/rln/src/keystore/index.ts b/packages/rln/src/keystore/index.ts index e5d4abc5d1..e597d34e66 100644 --- a/packages/rln/src/keystore/index.ts +++ b/packages/rln/src/keystore/index.ts @@ -1,5 +1,2 @@ -import { Keystore } from "./keystore.js"; -import type { DecryptedCredentials, EncryptedCredentials } from "./types.js"; - -export { Keystore }; -export type { EncryptedCredentials, DecryptedCredentials }; +export { Keystore } from "./keystore.js"; +export type { EncryptedCredentials, DecryptedCredentials } from "./types.js"; diff --git a/packages/sds/src/index.ts b/packages/sds/src/index.ts index 3c1fb30cb1..f1754f69b9 100644 --- a/packages/sds/src/index.ts +++ b/packages/sds/src/index.ts @@ -1,5 +1,3 @@ -import { BloomFilter } from "./bloom_filter/bloom.js"; - export { MessageChannel, MessageChannelEvent, @@ -10,12 +8,14 @@ export { Message, ContentMessage, SyncMessage, - EphemeralMessage, - type HistoryEntry, - type ChannelId, - type MessageChannelEvents, - type SenderId, - type MessageId + EphemeralMessage +} from "./message_channel/index.js"; +export type { + HistoryEntry, + ChannelId, + MessageChannelEvents, + SenderId, + MessageId } from "./message_channel/index.js"; -export { BloomFilter }; +export { BloomFilter } from "./bloom_filter/bloom.js";