diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index d4492f43a3..0000000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2017-2023 @polkadot/api authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -const base = require('@polkadot/dev/config/eslint.cjs'); - -module.exports = { - ...base, - ignorePatterns: [ - ...base.ignorePatterns, - '/scripts' - ], - parserOptions: { - ...base.parserOptions, - project: [ - './tsconfig.eslint.json' - ] - }, - rules: { - ...base.rules, - // add override for any (a metric ton of them, initial conversion) - '@typescript-eslint/no-explicit-any': 'off', - // this seems very broken atm, false positives - '@typescript-eslint/unbound-method': 'off' - } -}; diff --git a/CHANGELOG.md b/CHANGELOG.md index 03b40270ea..b469835a56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # CHANGELOG +## master + +Contributed: + +- Allow `api.setSigner(...)` to clear existing (Thanks to https://github.com/polymath-eric) + +Changes: + +- Adjust `@polkadot/types-create` exports with no duplicates + + ## 10.7.1 May 13, 2023 Changes: diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000..e5fe790fb8 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,16 @@ +// Copyright 2017-2023 @polkadot/dev authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import baseConfig from '@polkadot/dev/config/eslint'; + +export default [ + ...baseConfig, + { + rules: { + // add override for any (a metric ton of them, initial conversion) + '@typescript-eslint/no-explicit-any': 'off', + // we generally use this in isFunction, not via calling + '@typescript-eslint/unbound-method': 'off' + } + } +]; diff --git a/package.json b/package.json index e683968a36..0e299d4469 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "test:one": "polkadot-dev-run-test --env node" }, "devDependencies": { - "@polkadot/dev": "^0.74.1", + "@polkadot/dev": "^0.75.4", "@polkadot/typegen": "workspace:packages/typegen", "@types/node": "^20.2.0" }, diff --git a/packages/api/src/promise/Combinators.spec.ts b/packages/api/src/promise/Combinators.spec.ts index 61d7633683..1534f50b3f 100644 --- a/packages/api/src/promise/Combinators.spec.ts +++ b/packages/api/src/promise/Combinators.spec.ts @@ -21,7 +21,7 @@ describe('Combinator', (): void => { fns = []; }); - it('it triggers on all values', async (): Promise => { + it('triggers on all values', async (): Promise => { await new Promise((resolve) => { let count = 0; const combinator = new Combinator( @@ -90,6 +90,7 @@ describe('Combinator', (): void => { }); }); + // eslint-disable-next-line jest/expect-expect it('unsubscribes as required', async (): Promise => { await new Promise((resolve) => { // eslint-disable-next-line @typescript-eslint/require-await diff --git a/packages/api/src/promise/index.spec.ts b/packages/api/src/promise/index.spec.ts index 3a0defce44..3af335a136 100644 --- a/packages/api/src/promise/index.spec.ts +++ b/packages/api/src/promise/index.spec.ts @@ -87,6 +87,7 @@ describe('ApiPromise', (): void => { await api.disconnect(); }); + // eslint-disable-next-line jest/expect-expect it('Create API instance will error on failure to await ready', async (): Promise => { class ErrorApiPromise extends ApiPromise { constructor () { diff --git a/packages/api/src/types/index.ts b/packages/api/src/types/index.ts index ef2f26a96a..ad0c64e6f2 100644 --- a/packages/api/src/types/index.ts +++ b/packages/api/src/types/index.ts @@ -25,12 +25,19 @@ export type { Signer, SignerResult } from '@polkadot/types/types'; export { ApiBase } from '../base/index.js'; // all starred +// eslint-disable-next-line import/export export * from '@polkadot/api/types/calls'; +// eslint-disable-next-line import/export export * from '@polkadot/api/types/consts'; +// eslint-disable-next-line import/export export * from '@polkadot/api/types/errors'; +// eslint-disable-next-line import/export export * from '@polkadot/api/types/events'; +// eslint-disable-next-line import/export export * from '@polkadot/api/types/storage'; +// eslint-disable-next-line import/export export * from '@polkadot/api/types/submittable'; +// eslint-disable-next-line import/export export * from '@polkadot/api-base/types'; // A smaller interface of ApiRx, used in derive and in SubmittableExtrinsic diff --git a/packages/api/src/util/validate.spec.ts b/packages/api/src/util/validate.spec.ts index c3907b4bc6..9dae6cc501 100644 --- a/packages/api/src/util/validate.spec.ts +++ b/packages/api/src/util/validate.spec.ts @@ -46,7 +46,7 @@ describe('extractStorageArgs', (): void => { ).toThrow('staking.payee(AccountId32) is a map, requiring 1 arguments, 0 found'); }); - it('validates map, 1 arg (failing with no args)', (): void => { + it('validates map, 1 arg (failing with more args)', (): void => { expect( () => extractStorageArgs(registry, storage.staking.payee, ['abc', 'def']) ).toThrow('staking.payee(AccountId32) is a map, requiring 1 arguments, 2 found'); diff --git a/packages/rpc-core/src/replay.spec.ts b/packages/rpc-core/src/replay.spec.ts index f72fbda0de..d57e736856 100644 --- a/packages/rpc-core/src/replay.spec.ts +++ b/packages/rpc-core/src/replay.spec.ts @@ -28,7 +28,7 @@ describe('replay', (): void => { await new Promise((resolve) => { rpc.system.chain().subscribe((value: any): void => { if (value) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access + // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access, jest/no-conditional-expect expect(value.toString()).toEqual('mockChain'); // Defined in MockProvider resolve(true); } diff --git a/packages/rpc-provider/src/http/index.spec.ts b/packages/rpc-provider/src/http/index.spec.ts index 51678e85f0..2d249bea88 100644 --- a/packages/rpc-provider/src/http/index.spec.ts +++ b/packages/rpc-provider/src/http/index.spec.ts @@ -45,14 +45,17 @@ describe('Http', (): void => { it('does not (yet) support subscribe', async (): Promise => { await http.subscribe('', '', [], (cb): void => { + // eslint-disable-next-line jest/no-conditional-expect expect(cb).toEqual(expect.anything()); }).catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/does not have subscriptions/); }); }); it('does not (yet) support unsubscribe', async (): Promise => { await http.unsubscribe('', '', 0).catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/does not have subscriptions/); }); }); diff --git a/packages/rpc-provider/src/http/send.spec.ts b/packages/rpc-provider/src/http/send.spec.ts index 4661fbc433..62938736ef 100644 --- a/packages/rpc-provider/src/http/send.spec.ts +++ b/packages/rpc-provider/src/http/send.spec.ts @@ -10,6 +10,7 @@ import { HttpProvider } from './index.js'; // Does not work with Node 18 (native fetch) // See https://github.com/nock/nock/issues/2397 +// eslint-disable-next-line jest/no-disabled-tests describe.skip('send', (): void => { let http: HttpProvider; let mock: Mock; @@ -53,6 +54,7 @@ describe.skip('send', (): void => { return http .send('test_error', []) .catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/\[500\]/); }); }); diff --git a/packages/rpc-provider/src/mock/on.spec.ts b/packages/rpc-provider/src/mock/on.spec.ts index 325f803291..703a225268 100644 --- a/packages/rpc-provider/src/mock/on.spec.ts +++ b/packages/rpc-provider/src/mock/on.spec.ts @@ -21,7 +21,8 @@ describe('on', (): void => { await mock.disconnect(); }); - it('it emits both connected and disconnected events', async (): Promise => { + // eslint-disable-next-line jest/expect-expect + it('emits both connected and disconnected events', async (): Promise => { const events: Record = { connected: false, disconnected: false }; await new Promise((resolve) => { diff --git a/packages/rpc-provider/src/mock/send.spec.ts b/packages/rpc-provider/src/mock/send.spec.ts index 8f0ba86be3..8ecd560044 100644 --- a/packages/rpc-provider/src/mock/send.spec.ts +++ b/packages/rpc-provider/src/mock/send.spec.ts @@ -23,6 +23,7 @@ describe('send', (): void => { return mock .send('something_invalid', []) .catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/Invalid method/); }); }); diff --git a/packages/rpc-provider/src/mock/subscribe.spec.ts b/packages/rpc-provider/src/mock/subscribe.spec.ts index 4e1ea486ec..c4c33e81cd 100644 --- a/packages/rpc-provider/src/mock/subscribe.spec.ts +++ b/packages/rpc-provider/src/mock/subscribe.spec.ts @@ -23,6 +23,7 @@ describe('subscribe', (): void => { await mock .subscribe('test', 'test_notFound') .catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/Invalid method 'test_notFound'/); }); }); @@ -41,12 +42,14 @@ describe('subscribe', (): void => { await new Promise((resolve) => { mock.subscribe('chain_newHead', 'chain_subscribeNewHead', (_: any, value: string): void => { + // eslint-disable-next-line jest/no-conditional-expect expect(value).toEqual('testValue'); resolve(true); }).catch(console.error); }); }); + // eslint-disable-next-line jest/expect-expect it('calls back with new headers', async (): Promise => { await new Promise((resolve) => { mock.subscribe('chain_newHead', 'chain_subscribeNewHead', (_: any, header: { number: number }): void => { @@ -57,6 +60,7 @@ describe('subscribe', (): void => { }); }); + // eslint-disable-next-line jest/expect-expect it('handles errors within callbacks gracefully', async (): Promise => { let hasThrown = false; diff --git a/packages/rpc-provider/src/mock/unsubscribe.spec.ts b/packages/rpc-provider/src/mock/unsubscribe.spec.ts index eaf3a5f815..554be70b8e 100644 --- a/packages/rpc-provider/src/mock/unsubscribe.spec.ts +++ b/packages/rpc-provider/src/mock/unsubscribe.spec.ts @@ -30,12 +30,14 @@ describe('unsubscribe', (): void => { await mock .unsubscribe('chain_newHead', 'chain_subscribeNewHead', 5) .catch((error): boolean => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/Unable to find/); return false; }); }); + // eslint-disable-next-line jest/expect-expect it('unsubscribes successfully', async (): Promise => { await mock.unsubscribe('chain_newHead', 'chain_subscribeNewHead', id); }); @@ -46,6 +48,7 @@ describe('unsubscribe', (): void => { mock.unsubscribe('chain_newHead', 'chain_subscribeNewHead', id) ) .catch((error): boolean => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/Unable to find/); return false; diff --git a/packages/rpc-provider/src/substrate-connect/index.spec.ts b/packages/rpc-provider/src/substrate-connect/index.spec.ts index 8aea257901..5baf00a01c 100644 --- a/packages/rpc-provider/src/substrate-connect/index.spec.ts +++ b/packages/rpc-provider/src/substrate-connect/index.spec.ts @@ -321,6 +321,7 @@ describe('ScProvider', () => { expect(chain._isTerminated()).toBe(true); }); + // eslint-disable-next-line jest/expect-expect it('does not throw when disconnecting on an already disconnected Provider', async () => { const provider = new ScProvider(mockSc, ''); diff --git a/packages/rpc-provider/src/ws/index.spec.ts b/packages/rpc-provider/src/ws/index.spec.ts index a4a34df2cc..f09df51c92 100644 --- a/packages/rpc-provider/src/ws/index.spec.ts +++ b/packages/rpc-provider/src/ws/index.spec.ts @@ -39,10 +39,12 @@ describe('Ws', (): void => { ).toEqual(false); }); + // eslint-disable-next-line jest/expect-expect it('allows you to initialize the provider with custom headers', () => { createWs([], 100, { foo: 'bar' }); }); + // eslint-disable-next-line jest/expect-expect it('allows you to set custom timeout value for handlers', () => { const CUSTOM_TIMEOUT_S = 90; const CUSTOM_TIMEOUT_MS = CUSTOM_TIMEOUT_S * 1000; @@ -52,6 +54,7 @@ describe('Ws', (): void => { }); describe('Endpoint Parsing', (): void => { + // eslint-disable-next-line jest/expect-expect it('Succeeds when WsProvider endpoint is a valid string', () => { /* eslint-disable no-new */ new WsProvider(TEST_WS_URL, 0); @@ -63,6 +66,7 @@ describe('Endpoint Parsing', (): void => { ).toThrow(/^Endpoint should start with /); }); + // eslint-disable-next-line jest/expect-expect it('Succeeds when WsProvider endpoint is a valid array', () => { const endpoints: string[] = ['ws://127.0.0.1:9955', 'wss://testnet.io:9944', 'ws://mychain.com:9933']; diff --git a/packages/rpc-provider/src/ws/send.spec.ts b/packages/rpc-provider/src/ws/send.spec.ts index 4696c33ea4..0a6888382c 100644 --- a/packages/rpc-provider/src/ws/send.spec.ts +++ b/packages/rpc-provider/src/ws/send.spec.ts @@ -59,6 +59,7 @@ describe('send', (): void => { ws .send('test_encoding', [{ error: 'send error' }]) .catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toEqual('send error'); }) ); @@ -99,6 +100,7 @@ describe('send', (): void => { ws .send('test_error', []) .catch((error): void => { + // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/666: error/); }) ); diff --git a/packages/typegen/src/util/docs.ts b/packages/typegen/src/util/docs.ts index b53adf81b0..b2239a3a06 100644 --- a/packages/typegen/src/util/docs.ts +++ b/packages/typegen/src/util/docs.ts @@ -8,3 +8,6 @@ import { readTemplate } from './file.js'; Handlebars.registerPartial({ docs: Handlebars.compile(readTemplate('docs')) }); + +// empty export +export const __TYPEGEN_DUMMY_DOCS = 'DUMMY_DOCS'; diff --git a/packages/types-codec/src/base/Compact.spec.ts b/packages/types-codec/src/base/Compact.spec.ts index e50459da56..0de8fcffeb 100644 --- a/packages/types-codec/src/base/Compact.spec.ts +++ b/packages/types-codec/src/base/Compact.spec.ts @@ -16,7 +16,7 @@ describe('Compact', (): void => { describe('constructor', (): void => { it('fails on > MAX_SAFE_INTEGER', (): void => { - // eslint-disable-next-line @typescript-eslint/no-loss-of-precision + // eslint-disable-next-line @typescript-eslint/no-loss-of-precision, no-loss-of-precision expect(() => new Compact(registry, 'u128', 9007199254740999)).toThrow(/integer <= Number.MAX_SAFE_INTEGER/); }); diff --git a/packages/types-codec/src/base/Result.spec.ts b/packages/types-codec/src/base/Result.spec.ts index c0bfba48c6..33f796d2f8 100644 --- a/packages/types-codec/src/base/Result.spec.ts +++ b/packages/types-codec/src/base/Result.spec.ts @@ -18,7 +18,7 @@ describe('Result', (): void => { it('decodes from a u8a (success)', (): void => { const result = new Type(registry, new Uint8Array([0, 1, 2, 3, 4])); - expect(result.isOk); + expect(result.isOk).toBe(true); expect(result.asOk.toU8a()).toEqual(new Uint8Array([1, 2, 3, 4])); expect(result.toHex()).toEqual('0x0001020304'); expect(result.toJSON()).toEqual({ @@ -29,7 +29,7 @@ describe('Result', (): void => { it('decodes from a u8a (error)', (): void => { const result = new Type(registry, new Uint8Array([1, 4 << 2, 100, 101, 102, 103])); - expect(result.isErr); + expect(result.isErr).toBe(true); expect(result.asErr.toU8a()).toEqual(new Uint8Array([4 << 2, 100, 101, 102, 103])); expect(result.toHex()).toEqual('0x011064656667'); expect(result.toJSON()).toEqual({ diff --git a/packages/types-codec/src/base/UInt.spec.ts b/packages/types-codec/src/base/UInt.spec.ts index 874408a784..d65c6c39d5 100644 --- a/packages/types-codec/src/base/UInt.spec.ts +++ b/packages/types-codec/src/base/UInt.spec.ts @@ -13,9 +13,9 @@ describe('UInt', (): void => { const registry = new TypeRegistry(); it('fails on > MAX_SAFE_INTEGER and float', (): void => { - // eslint-disable-next-line @typescript-eslint/no-loss-of-precision + // eslint-disable-next-line @typescript-eslint/no-loss-of-precision, no-loss-of-precision expect(() => new UInt(registry, 9007199254740999)).toThrow(/integer <= Number.MAX_SAFE_INTEGER/); - // eslint-disable-next-line @typescript-eslint/no-loss-of-precision + // eslint-disable-next-line @typescript-eslint/no-loss-of-precision, no-loss-of-precision expect(() => new UInt(registry, -9007199254740999)).toThrow(/integer <= Number.MAX_SAFE_INTEGER/); expect(() => new UInt(registry, 9.123)).toThrow(/integer <= Number.MAX_SAFE_INTEGER/); }); diff --git a/packages/types-codec/src/base/Vec.spec.ts b/packages/types-codec/src/base/Vec.spec.ts index f9feead8f7..7e8fdce768 100644 --- a/packages/types-codec/src/base/Vec.spec.ts +++ b/packages/types-codec/src/base/Vec.spec.ts @@ -39,7 +39,7 @@ describe('Vec', (): void => { expect(new Vec(registry, Text, null)).toHaveLength(0); }); - it('decodes a complex type via construction', (): void => { + it('decodes a complex type via construction (1)', (): void => { const test = createTypeUnsafe>>(registry, 'Vec<(PropIndex, AccountId)>', [new Uint8Array([ 4, 10, 0, 0, 0, 209, 114, 167, 76, 218, 76, 134, 89, 18, 195, 43, 160, 168, 10, 87, 174, 105, 171, 174, 65, 14, 92, 203, 89, 222, 232, 78, 47, 68, 50, 219, 79 ])]); @@ -48,7 +48,7 @@ describe('Vec', (): void => { expect(test[0][1].toString()).toEqual('5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaQua'); }); - it('decodes a complex type via construction', (): void => { + it('decodes a complex type via construction (2)', (): void => { const INPUT = '0x08cc0200000000ce0200000001'; const test = createTypeUnsafe>(registry, 'Vec<(u32, [u32; 0], u16)>', [INPUT]); diff --git a/packages/types-codec/src/extended/BTreeSet.ts b/packages/types-codec/src/extended/BTreeSet.ts index 3f072e0594..f7d0e32903 100644 --- a/packages/types-codec/src/extended/BTreeSet.ts +++ b/packages/types-codec/src/extended/BTreeSet.ts @@ -141,7 +141,7 @@ export class BTreeSet extends Set implements ISet * @description Returns a breakdown of the hex encoding for this Codec */ public inspect (): Inspect { - const inner = new Array(); + const inner: Inspect[] = []; for (const v of this.values()) { inner.push(v.inspect()); @@ -218,7 +218,7 @@ export class BTreeSet extends Set implements ISet * @param isBare true when the value has none of the type-specific prefixes (internal) */ public toU8a (isBare?: boolean): Uint8Array { - const encoded = new Array(); + const encoded: Uint8Array[] = []; if (!isBare) { encoded.push(compactToU8a(this.size)); diff --git a/packages/types-codec/src/extended/BitVec.spec.ts b/packages/types-codec/src/extended/BitVec.spec.ts index 8fdabfd608..aebf87b309 100644 --- a/packages/types-codec/src/extended/BitVec.spec.ts +++ b/packages/types-codec/src/extended/BitVec.spec.ts @@ -15,7 +15,7 @@ const registry = new TypeRegistry(); describe('BitVec', (): void => { describe('decoding known', (): void => { TESTS.forEach((test): void => { - describe(test, (): void => { + describe(`${test}`, (): void => { const input = hexToU8a(test); const bitvec = new BitVec(registry, input); diff --git a/packages/types-codec/src/extended/Map.ts b/packages/types-codec/src/extended/Map.ts index 44d15127c9..5d86bda2e3 100644 --- a/packages/types-codec/src/extended/Map.ts +++ b/packages/types-codec/src/extended/Map.ts @@ -154,7 +154,7 @@ export class CodecMap extends * @description Returns a breakdown of the hex encoding for this Codec */ public inspect (): Inspect { - const inner = new Array(); + const inner: Inspect[] = []; for (const [k, v] of this.entries()) { inner.push(k.inspect()); @@ -240,7 +240,7 @@ export class CodecMap extends * @param isBare true when the value has none of the type-specific prefixes (internal) */ public toU8a (isBare?: boolean): Uint8Array { - const encoded = new Array(); + const encoded: Uint8Array[] = []; if (!isBare) { encoded.push(compactToU8a(this.size)); diff --git a/packages/types-codec/src/native/Struct.ts b/packages/types-codec/src/native/Struct.ts index d725b81b03..ea62da39b6 100644 --- a/packages/types-codec/src/native/Struct.ts +++ b/packages/types-codec/src/native/Struct.ts @@ -233,7 +233,7 @@ export class Struct< * @description Returns a breakdown of the hex encoding for this Codec */ public inspect (isBare?: BareOpts): Inspect { - const inner = new Array(); + const inner: Inspect[] = []; for (const [k, v] of this.entries()) { inner.push({ diff --git a/packages/types-codec/src/test/performance.ts b/packages/types-codec/src/test/performance.ts index dac225f2fd..973cadbb9e 100644 --- a/packages/types-codec/src/test/performance.ts +++ b/packages/types-codec/src/test/performance.ts @@ -1,6 +1,8 @@ // Copyright 2017-2023 @polkadot/types-codec authors & contributors // SPDX-License-Identifier: Apache-2.0 +/* global it */ + // Shamelessly copied from @polkadot/util/test import { formatDecimal, formatNumber } from '@polkadot/util'; diff --git a/packages/types-create/src/bundle.ts b/packages/types-create/src/bundle.ts index 07ce073cb8..b0a0ef944e 100644 --- a/packages/types-create/src/bundle.ts +++ b/packages/types-create/src/bundle.ts @@ -6,5 +6,4 @@ export { packageInfo } from './packageInfo.js'; export { TypeDefInfo } from './types/index.js'; // all starred -export * from './create/index.js'; -export * from './util/index.js'; +export * from './exports.js'; diff --git a/packages/types-create/src/exports.ts b/packages/types-create/src/exports.ts new file mode 100644 index 0000000000..cbd878903a --- /dev/null +++ b/packages/types-create/src/exports.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2023 @polkadot/types-codec authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// all starred +export * from './create/index.js'; +export * from './util/index.js'; diff --git a/packages/types-known/src/upgrades/e2e/index.spec.ts b/packages/types-known/src/upgrades/e2e/index.spec.ts index b6df3c6727..156a9399aa 100644 --- a/packages/types-known/src/upgrades/e2e/index.spec.ts +++ b/packages/types-known/src/upgrades/e2e/index.spec.ts @@ -45,6 +45,7 @@ for (const chain of keys) { }); for (const [blockNumber, specVersion] of allMan[chain]) { + // eslint-disable-next-line jest/expect-expect it(`blockNumber=${blockNumber}, specVersion=${specVersion}`, async (): Promise => { const found = avail.find(([n, s]) => n === blockNumber && s === specVersion); diff --git a/packages/types-known/src/upgrades/index.spec.ts b/packages/types-known/src/upgrades/index.spec.ts index c74b77b448..16991b5ca0 100644 --- a/packages/types-known/src/upgrades/index.spec.ts +++ b/packages/types-known/src/upgrades/index.spec.ts @@ -64,7 +64,8 @@ describe('generated', (): void => { }); for (const chain of Object.keys(allMan)) { - describe(chain, (): void => { + describe(`${chain}`, (): void => { + // eslint-disable-next-line jest/expect-expect it('should have all generated', (): void => { const missing = allMan[chain as keyof typeof allMan].filter(([na, sa]) => !allGen[chain as keyof typeof allGen].some(([nb, sb]) => @@ -78,10 +79,12 @@ describe('generated', (): void => { } }); + // eslint-disable-next-line jest/expect-expect it('manual should be correctly ordered', (): void => { checkOrder(chain, (allGen as Record)[chain]); }); + // eslint-disable-next-line jest/expect-expect it('generated should be correctly ordered', (): void => { checkOrder(chain, (allMan as Record)[chain]); }); @@ -91,7 +94,7 @@ describe('generated', (): void => { describe('upgrades', (): void => { TESTS.forEach(({ genesisHash, network, versions }): void => { - describe(network, (): void => { + describe(`${network}`, (): void => { const chain = upgrades.find((n) => n.network === network); if (!chain) { diff --git a/packages/types/src/create/createType.spec.ts b/packages/types/src/create/createType.spec.ts index 0db8f0f773..5a055501a4 100644 --- a/packages/types/src/create/createType.spec.ts +++ b/packages/types/src/create/createType.spec.ts @@ -198,14 +198,14 @@ describe('createType', (): void => { it('allows for re-registration of a type', (): void => { const balDef = registry.createType('Balance'); - expect(balDef instanceof registry.createClass('Balance')); + expect(balDef instanceof registry.createClass('Balance')).toBe(true); expect(balDef.bitLength()).toEqual(128); registry.register({ Balance: 'u32' }); const balu32 = registry.createType('Balance'); - expect(balu32 instanceof registry.createClass('Balance')); + expect(balu32 instanceof registry.createClass('Balance')).toBe(true); expect(balu32.bitLength()).toEqual(32); }); diff --git a/packages/types/src/create/index.ts b/packages/types/src/create/index.ts index 7246202f4d..ea0c266cb8 100644 --- a/packages/types/src/create/index.ts +++ b/packages/types/src/create/index.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // all external -export * from '@polkadot/types-create'; +export * from '@polkadot/types-create/exports'; // all local export * from './createClass.js'; diff --git a/packages/types/src/create/registry.spec.ts b/packages/types/src/create/registry.spec.ts index c98f82e8b1..9c8b7bbdda 100644 --- a/packages/types/src/create/registry.spec.ts +++ b/packages/types/src/create/registry.spec.ts @@ -31,7 +31,7 @@ describe('TypeRegistry', (): void => { expect(Type).toBeDefined(); // eslint-disable-next-line no-prototype-builtins - expect(isChildClass(DoNotConstruct, Type)); + expect(isChildClass(DoNotConstruct, Type)).toBe(true); }); it('can register single type', (): void => { diff --git a/packages/types/src/generic/AccountIndex.spec.ts b/packages/types/src/generic/AccountIndex.spec.ts index f44cf28c8e..3c98d90bf6 100644 --- a/packages/types/src/generic/AccountIndex.spec.ts +++ b/packages/types/src/generic/AccountIndex.spec.ts @@ -1,6 +1,8 @@ // Copyright 2017-2023 @polkadot/types authors & contributors // SPDX-License-Identifier: Apache-2.0 +/* eslint-disable jest/expect-expect */ + /// import { BN } from '@polkadot/util'; diff --git a/packages/types/src/generic/ChainProperties.spec.ts b/packages/types/src/generic/ChainProperties.spec.ts index 88f8f7d473..ec8739ee05 100644 --- a/packages/types/src/generic/ChainProperties.spec.ts +++ b/packages/types/src/generic/ChainProperties.spec.ts @@ -55,7 +55,7 @@ describe('ChainProperties', (): void => { expect(tokenSymbol.unwrap().eq(['KSM'])).toBe(true); }); - it('has a sane toHuman', (): void => { + it('has a sane toHuman (single tokenDecimals)', (): void => { expect( registry.createType('ChainProperties', { ss58Format: 42, @@ -69,7 +69,7 @@ describe('ChainProperties', (): void => { }); }); - it('has a sane toHuman', (): void => { + it('has a sane toHuman (multiple tokenDecimals)', (): void => { expect( registry.createType('ChainProperties', { ss58Format: 2, diff --git a/packages/types/src/index.spec.ts b/packages/types/src/index.spec.ts index e8256beb57..efc8325ac7 100644 --- a/packages/types/src/index.spec.ts +++ b/packages/types/src/index.spec.ts @@ -30,7 +30,7 @@ const metadata = new Metadata(registry, metadataStatic); registry.setMetadata(metadata); function testTypes (type: string, typeNames: string[]): void { - describe(type, (): void => { + describe(`${type}`, (): void => { describe(`${type}:: default creation`, (): void => { typeNames.forEach((name): void => { it(`creates an empty ${name}`, (): void => { @@ -38,8 +38,10 @@ function testTypes (type: string, typeNames: string[]): void { registry.createType(name); if (UNCONSTRUCTABLE.includes(name.toLowerCase())) { + // eslint-disable-next-line jest/no-conditional-expect expect(constructFn).toThrow(); } else { + // eslint-disable-next-line jest/no-conditional-expect expect(constructFn).not.toThrow(); } }); @@ -53,8 +55,10 @@ function testTypes (type: string, typeNames: string[]): void { registry.createType(name, registry.createType('Bytes')); if (UNCONSTRUCTABLE.includes(name.toLowerCase())) { + // eslint-disable-next-line jest/no-conditional-expect expect(constructFn).toThrow(); } else { + // eslint-disable-next-line jest/no-conditional-expect expect(constructFn).not.toThrow(); } }); diff --git a/packages/types/src/interfaces/definitions.spec.ts b/packages/types/src/interfaces/definitions.spec.ts index c87745bc27..d0d7741914 100644 --- a/packages/types/src/interfaces/definitions.spec.ts +++ b/packages/types/src/interfaces/definitions.spec.ts @@ -53,7 +53,7 @@ describe('type definitions', (): void => { ); for (const [key, { types }] of allTypes) { - describe(key, (): void => { + describe(`${key}`, (): void => { const typesKeys = Object.keys(types).filter((type) => // meant to fail type !== 'ExtrinsicUnknown' && @@ -80,11 +80,11 @@ describe('rpc definitions', (): void => { ); for (const [section, { rpc }] of rpcs) { - describe(section, (): void => { + describe(`${section}`, (): void => { const methodsEntries = Object.entries(rpc); for (const [method, { params, type }] of methodsEntries) { - describe(method, (): void => { + describe(`${method}`, (): void => { // We cannot constuct V0, so just ignore if (section !== 'state' || method !== 'getMetadata') { it(`output ${type} is known`, (): void => { @@ -114,17 +114,17 @@ describe('runtime definitions', (): void => { ); for (const [key, { runtime }] of runtimes) { - describe(key, (): void => { + describe(`${key}`, (): void => { const versionsEntries = Object.entries(runtime); for (const [key, versions] of versionsEntries) { - describe(key, (): void => { + describe(`${key}`, (): void => { for (const { methods, version } of versions) { describe(`version ${version}`, (): void => { const methodsEntries = Object.entries(methods); for (const [key, { params, type }] of methodsEntries) { - describe(key, (): void => { + describe(`${key}`, (): void => { // Applied from runtime, used in Funglibles if (type !== 'Result, FungiblesAccessError>') { it(`output ${type} is known`, (): void => { diff --git a/packages/types/src/metadata/util/testUtil.ts b/packages/types/src/metadata/util/testUtil.ts index a839193a93..9ef5d24870 100644 --- a/packages/types/src/metadata/util/testUtil.ts +++ b/packages/types/src/metadata/util/testUtil.ts @@ -3,6 +3,8 @@ /// +/* global describe, it, expect */ + import type { Registry } from '@polkadot/types-codec/types'; import type { Check } from './types.js'; diff --git a/rollup.config.mjs b/rollup.config.js similarity index 90% rename from rollup.config.mjs rename to rollup.config.js index 45e3a62824..eaec37de3e 100644 --- a/rollup.config.mjs +++ b/rollup.config.js @@ -30,11 +30,12 @@ const entries = [ ...all, [`@polkadot/${p}`]: path.resolve(process.cwd(), `packages/${p}/build/bundle.js`) }), { + // re-exported in @polkadot/util-crypto, map directly + '@polkadot/networks': '@polkadot/util-crypto', // we point to a specific file for these (default augmentations) '@polkadot/rpc-core/types/jsonrpc': path.resolve(process.cwd(), 'packages/rpc-core/build/types/jsonrpc.js'), '@polkadot/types-codec/types/registry': path.resolve(process.cwd(), 'packages/types-codec/build/types/registry.js'), - // re-exported in @polkadot/util-crypto, map directly - '@polkadot/networks': '@polkadot/util-crypto' + '@polkadot/types-create/exports': path.resolve(process.cwd(), 'packages/types-create/build/exports.js') }); const overrides = {}; diff --git a/scripts/metadata-get.mjs b/scripts/metadata-get.mjs index 507120efd5..9ac8eb4d37 100644 --- a/scripts/metadata-get.mjs +++ b/scripts/metadata-get.mjs @@ -5,12 +5,12 @@ import fs from 'node:fs'; import { fetch } from '@polkadot/x-fetch'; -const PREAMBLE = `// Copyright 2017-2023 @polkadot/types-support authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable */\n\n`; +const PREAMBLE = '// Copyright 2017-2023 @polkadot/types-support authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable */\n\n'; const CMD = { kusama: `${PREAMBLE}// cargo run --release -- purge-chain -y --chain kusama-dev && cargo run --release -- --chain kusama-dev --alice --force-authoring\n\nexport default`, polkadot: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`, substrate: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default` -} +}; let requestId = 0; @@ -28,7 +28,7 @@ async function get (method) { params: [] }), headers: { - 'Accept': 'application/json', + Accept: 'application/json', 'Content-Type': 'application/json' }, method: 'post' diff --git a/tsconfig.base.json b/tsconfig.base.json index 2ead4ee45a..2712982405 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -60,6 +60,7 @@ "@polkadot/types-codec/types": ["types-codec/src/types/index.ts"], "@polkadot/types-codec/types/*": ["types-codec/src/types/*.ts"], "@polkadot/types-create": ["types-create/src/index.ts"], + "@polkadot/types-create/exports": ["types-create/src/exports.ts"], "@polkadot/types-create/packageInfo": ["types-create/src/packageInfo.ts"], "@polkadot/types-create/types": ["types-create/src/types/index.ts"], "@polkadot/types-create/types/*": ["types-create/src/types/*.ts"], diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index aff52f1af4..ee8a6670c5 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -7,7 +7,10 @@ "include": [ "packages/**/src/**/*", "packages/**/scripts/**/*", - "scripts/*" + "scripts/*", + ".prettierrc.cjs", + "eslint.config.js", + "rollup.config.js" ], "exclude": [ "**/node_modules/**/*" diff --git a/yarn.lock b/yarn.lock index cd168772d1..d979d92d41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -225,10 +225,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.40.0, @eslint/js@npm:^8.40.0": - version: 8.40.0 - resolution: "@eslint/js@npm:8.40.0" - checksum: e84936b8ebd1c8fd90e860182e95d1404006da4cbca722b14950b298aeeca102b080aa9b62c8e69f90824ec54e19f1ba79b239046223624d1414ee82e8e628ac +"@eslint/js@npm:8.41.0, @eslint/js@npm:^8.41.0": + version: 8.41.0 + resolution: "@eslint/js@npm:8.41.0" + checksum: af013d70fe8d0429cdf5cd8b5dcc6fc384ed026c1eccb0cfe30f5849b968ab91645111373fd1b83282b38955b1bdfbe667c1a7dbda3b06cae753521223cad775 languageName: node linkType: hard @@ -490,6 +490,20 @@ __metadata: languageName: node linkType: hard +"@pkgr/utils@npm:^2.3.1": + version: 2.4.0 + resolution: "@pkgr/utils@npm:2.4.0" + dependencies: + cross-spawn: ^7.0.3 + fast-glob: ^3.2.12 + is-glob: ^4.0.3 + open: ^9.1.0 + picocolors: ^1.0.0 + tslib: ^2.5.0 + checksum: 2ed93a92fd58d612c7a7d04f91ce50c967d2e2d5c4f63802f62a882fcb7d91208cf89640bb3baad10ef7d42bea1e196fba956e7e36a68e9f94d2738e8974a24a + languageName: node + linkType: hard + "@polkadot/api-augment@10.7.2-2-x, @polkadot/api-augment@workspace:packages/api-augment": version: 0.0.0-use.local resolution: "@polkadot/api-augment@workspace:packages/api-augment" @@ -578,47 +592,47 @@ __metadata: languageName: unknown linkType: soft -"@polkadot/dev-test@npm:^0.74.1": - version: 0.74.1 - resolution: "@polkadot/dev-test@npm:0.74.1" +"@polkadot/dev-test@npm:^0.75.4": + version: 0.75.4 + resolution: "@polkadot/dev-test@npm:0.75.4" dependencies: jsdom: ^22.0.0 - tslib: ^2.5.1 - checksum: b7b532bb068ae4616ac1359c5ba63c3d9ff28936d23281eb9d316ca9efa81e4b10672336b66ad2314de2dccea04877632aa56f6e725d8c8e41522f0eb09dcd40 + tslib: ^2.5.2 + checksum: c6f626b2773ee1ead38a6e02822a0a48090a2ba8ec1e2d240e5ab6ab1805ebb506486bbf0b355538f5cdea8ce8714c46332d71cb2fbaee5b5930c2e90c807bbe languageName: node linkType: hard -"@polkadot/dev-ts@npm:^0.74.1": - version: 0.74.1 - resolution: "@polkadot/dev-ts@npm:0.74.1" +"@polkadot/dev-ts@npm:^0.75.4": + version: 0.75.4 + resolution: "@polkadot/dev-ts@npm:0.75.4" dependencies: json5: ^2.2.3 - tslib: ^2.5.1 + tslib: ^2.5.2 typescript: ^5.0.4 - checksum: 6e1c21dc15cf958033ce59c577474c24f0bad61210cd9fa0eed821ba222e736a4c7688e367b9cba1f42c848884182682732fbc333330cbd6a2b5bc5acf09e915 + checksum: 96a5ec32f531f14c656cc6934a29bcce9fb195dc322a8300acf44e6f7b3452b66a727b2e5ca6e2963e757ea8d95aa7b1dc5c2b5c88ac348aac388a78ac7108fa languageName: node linkType: hard -"@polkadot/dev@npm:^0.74.1": - version: 0.74.1 - resolution: "@polkadot/dev@npm:0.74.1" +"@polkadot/dev@npm:^0.75.4": + version: 0.75.4 + resolution: "@polkadot/dev@npm:0.75.4" dependencies: - "@eslint/js": ^8.40.0 - "@polkadot/dev-test": ^0.74.1 - "@polkadot/dev-ts": ^0.74.1 + "@eslint/js": ^8.41.0 + "@polkadot/dev-test": ^0.75.4 + "@polkadot/dev-ts": ^0.75.4 "@rollup/plugin-alias": ^5.0.0 "@rollup/plugin-commonjs": ^25.0.0 "@rollup/plugin-dynamic-import-vars": ^2.0.3 "@rollup/plugin-inject": ^5.0.3 "@rollup/plugin-json": ^6.0.0 "@rollup/plugin-node-resolve": ^15.0.2 - "@rushstack/eslint-patch": ^1.2.0 "@tsconfig/strictest": ^2.0.1 "@typescript-eslint/eslint-plugin": ^5.59.6 "@typescript-eslint/parser": ^5.59.6 - eslint: ^8.40.0 + eslint: ^8.41.0 eslint-config-standard: ^17.0.0 eslint-import-resolver-node: ^0.3.7 + eslint-import-resolver-typescript: ^3.5.5 eslint-plugin-deprecation: ^1.4.1 eslint-plugin-header: ^3.1.1 eslint-plugin-import: ^2.27.5 @@ -630,8 +644,10 @@ __metadata: eslint-plugin-react-hooks: ^4.6.0 eslint-plugin-simple-import-sort: ^10.0.0 eslint-plugin-sort-destructure-keys: ^1.5.0 + espree: ^9.5.2 gh-pages: ^5.0.0 gh-release: ^7.0.2 + globals: ^13.20.0 json5: ^2.2.3 madge: ^6.0.0 react: ^18.2.0 @@ -640,7 +656,7 @@ __metadata: rollup: ^3.22.0 rollup-plugin-cleanup: ^3.2.1 styled-components: ^5.3.10 - tslib: ^2.5.1 + tslib: ^2.5.2 typescript: ^5.0.4 webpack: ^5.83.1 webpack-cli: ^5.1.1 @@ -672,7 +688,7 @@ __metadata: polkadot-exec-rollup: scripts/polkadot-exec-rollup.mjs polkadot-exec-tsc: scripts/polkadot-exec-tsc.mjs polkadot-exec-webpack: scripts/polkadot-exec-webpack.mjs - checksum: 89c8cd6ae49c509a24b4daf280f03da555d06c21758d40dcaac22fe95bdf221fd12370e7bd60c7872659e01ec549e0c017902362a1813bf116821e1abf155f6f + checksum: b3f9cfae701f727401824c3f239ef855882023c1384372e09f28f1e1b722561789adbcfab0364cc85e0c20809900a84e4609c489c01b37a2ef7da9d4a5b0965f languageName: node linkType: hard @@ -1159,13 +1175,6 @@ __metadata: languageName: node linkType: hard -"@rushstack/eslint-patch@npm:^1.2.0": - version: 1.2.0 - resolution: "@rushstack/eslint-patch@npm:1.2.0" - checksum: faa749faae0e83c26ae9eb00ad36a897ac78f3cf27da8e8ff21c00bcf7973b598d823d8f2b3957ef66079288bcf577f94df831eae2d65f3f68d8ca32f18b6aff - languageName: node - linkType: hard - "@scure/base@npm:1.1.1": version: 1.1.1 resolution: "@scure/base@npm:1.1.1" @@ -2292,6 +2301,13 @@ __metadata: languageName: node linkType: hard +"big-integer@npm:^1.6.44": + version: 1.6.51 + resolution: "big-integer@npm:1.6.51" + checksum: 3d444173d1b2e20747e2c175568bedeebd8315b0637ea95d75fd27830d3b8e8ba36c6af40374f36bdaea7b5de376dcada1b07587cb2a79a928fccdb6e6e3c518 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.1.0 resolution: "binary-extensions@npm:2.1.0" @@ -2365,6 +2381,15 @@ __metadata: languageName: node linkType: hard +"bplist-parser@npm:^0.2.0": + version: 0.2.0 + resolution: "bplist-parser@npm:0.2.0" + dependencies: + big-integer: ^1.6.44 + checksum: d5339dd16afc51de6c88f88f58a45b72ed6a06aa31f5557d09877575f220b7c1d3fbe375da0b62e6a10d4b8ed80523567e351f24014f5bc886ad523758142cdd + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -2440,6 +2465,15 @@ __metadata: languageName: node linkType: hard +"bundle-name@npm:^3.0.0": + version: 3.0.0 + resolution: "bundle-name@npm:3.0.0" + dependencies: + run-applescript: ^5.0.0 + checksum: edf2b1fbe6096ed32e7566947ace2ea937ee427391744d7510a2880c4b9a5b3543d3f6c551236a29e5c87d3195f8e2912516290e638c15bcbede7b37cc375615 + languageName: node + linkType: hard + "bytes@npm:3.0.0": version: 3.0.0 resolution: "bytes@npm:3.0.0" @@ -3015,6 +3049,28 @@ __metadata: languageName: node linkType: hard +"default-browser-id@npm:^3.0.0": + version: 3.0.0 + resolution: "default-browser-id@npm:3.0.0" + dependencies: + bplist-parser: ^0.2.0 + untildify: ^4.0.0 + checksum: 279c7ad492542e5556336b6c254a4eaf31b2c63a5433265655ae6e47301197b6cfb15c595a6fdc6463b2ff8e1a1a1ed3cba56038a60e1527ba4ab1628c6b9941 + languageName: node + linkType: hard + +"default-browser@npm:^4.0.0": + version: 4.0.0 + resolution: "default-browser@npm:4.0.0" + dependencies: + bundle-name: ^3.0.0 + default-browser-id: ^3.0.0 + execa: ^7.1.1 + titleize: ^3.0.0 + checksum: 40c5af984799042b140300be5639c9742599bda76dc9eba5ac9ad5943c83dd36cebc4471eafcfddf8e0ec817166d5ba89d56f08e66a126c7c7908a179cead1a7 + languageName: node + linkType: hard + "default-gateway@npm:^6.0.3": version: 6.0.3 resolution: "default-gateway@npm:6.0.3" @@ -3047,6 +3103,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 54884f94caac0791bf6395a3ec530ce901cf71c47b0196b8754f3fd17edb6c0e80149c1214429d851873bb0d689dbe08dcedbb2306dc45c8534a5934723851b6 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -3449,7 +3512,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.14.0, enhanced-resolve@npm:^5.8.3": +"enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.14.0, enhanced-resolve@npm:^5.8.3": version: 5.14.0 resolution: "enhanced-resolve@npm:5.14.0" dependencies: @@ -3627,6 +3690,25 @@ __metadata: languageName: node linkType: hard +"eslint-import-resolver-typescript@npm:^3.5.5": + version: 3.5.5 + resolution: "eslint-import-resolver-typescript@npm:3.5.5" + dependencies: + debug: ^4.3.4 + enhanced-resolve: ^5.12.0 + eslint-module-utils: ^2.7.4 + get-tsconfig: ^4.5.0 + globby: ^13.1.3 + is-core-module: ^2.11.0 + is-glob: ^4.0.3 + synckit: ^0.8.5 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: 27e6276fdff5d377c9036362ff736ac29852106e883ff589ea9092dc57d4bc2a67a82d75134221124f05045f9a7e2114a159b2c827d1f9f64d091f7afeab0f58 + languageName: node + linkType: hard + "eslint-module-utils@npm:^2.7.4": version: 2.7.4 resolution: "eslint-module-utils@npm:2.7.4" @@ -3842,14 +3924,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.40.0": - version: 8.40.0 - resolution: "eslint@npm:8.40.0" +"eslint@npm:^8.41.0": + version: 8.41.0 + resolution: "eslint@npm:8.41.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.40.0 + "@eslint/js": 8.41.0 "@humanwhocodes/config-array": ^0.11.8 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -3869,13 +3951,12 @@ __metadata: find-up: ^5.0.0 glob-parent: ^6.0.2 globals: ^13.19.0 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 - js-sdsl: ^4.1.4 js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 @@ -3888,7 +3969,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: b79eba37f52f517a420eec99a80ae9f284d2cbe73afc0d4d3d4d5ed1cce0b06f21badc0374bfb7ac239efd2d49a1fd7c6111d6c3d52888521f377ba33de77e61 + checksum: 09979a6f8451dcc508a7005b6670845c8a518376280b3fd96657a406b8b6ef29d0e480d1ba11b4eb48da93d607e0c55c9b877676fe089d09973ec152354e23b2 languageName: node linkType: hard @@ -4011,6 +4092,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^7.1.1": + version: 7.1.1 + resolution: "execa@npm:7.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.1 + human-signals: ^4.3.0 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^3.0.7 + strip-final-newline: ^3.0.0 + checksum: 21fa46fc69314ace4068cf820142bdde5b643a5d89831c2c9349479c1555bff137a291b8e749e7efca36535e4e0a8c772c11008ca2e84d2cbd6ca141a3c8f937 + languageName: node + linkType: hard + "express@npm:^4.17.3": version: 4.18.1 resolution: "express@npm:4.18.1" @@ -4089,7 +4187,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" dependencies: @@ -4525,7 +4623,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"get-stream@npm:^6.0.0": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad @@ -4542,6 +4640,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"get-tsconfig@npm:^4.5.0": + version: 4.5.0 + resolution: "get-tsconfig@npm:4.5.0" + checksum: 687ee2bd69a5a07db2e2edeb4d6c41c3debb38f6281a66beb643e3f5b520252e27fcbbb5702bdd9a5f05dcf8c1d2e0150a4d8a960ad75cbdea74e06a51e91b02 + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -4693,12 +4798,12 @@ fsevents@~2.3.2: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.19.0 - resolution: "globals@npm:13.19.0" +"globals@npm:^13.19.0, globals@npm:^13.20.0": + version: 13.20.0 + resolution: "globals@npm:13.20.0" dependencies: type-fest: ^0.20.2 - checksum: a000dbd00bcf28f0941d8a29c3522b1c3b8e4bfe4e60e262c477a550c3cbbe8dbe2925a6905f037acd40f9a93c039242e1f7079c76b0fd184bc41dcc3b5c8e2e + checksum: ad1ecf914bd051325faad281d02ea2c0b1df5d01bd94d368dcc5513340eac41d14b3c61af325768e3c7f8d44576e72780ec0b6f2d366121f8eec6e03c3a3b97a languageName: node linkType: hard @@ -4716,6 +4821,19 @@ fsevents@~2.3.2: languageName: node linkType: hard +"globby@npm:^13.1.3": + version: 13.1.4 + resolution: "globby@npm:13.1.4" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.2.11 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 + languageName: node + linkType: hard + "globby@npm:^6.1.0": version: 6.1.0 resolution: "globby@npm:6.1.0" @@ -4773,6 +4891,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: bab8f0be9b568857c7bec9fda95a89f87b783546d02951c40c33f84d05bb7da3fd10f863a9beb901463669b6583173a8c8cc6d6b306ea2b9b9d5d3d943c3a673 + languageName: node + linkType: hard + "handle-thing@npm:^2.0.0": version: 2.0.1 resolution: "handle-thing@npm:2.0.1" @@ -5035,6 +5160,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"human-signals@npm:^4.3.0": + version: 4.3.1 + resolution: "human-signals@npm:4.3.1" + checksum: 6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1 + languageName: node + linkType: hard + "iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -5294,6 +5426,15 @@ fsevents@~2.3.2: languageName: node linkType: hard +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -5333,6 +5474,17 @@ fsevents@~2.3.2: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: ^3.0.0 + bin: + is-inside-container: cli.js + checksum: c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03 + languageName: node + linkType: hard + "is-installed-globally@npm:^0.3.2": version: 0.3.2 resolution: "is-installed-globally@npm:0.3.2" @@ -5492,6 +5644,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -5613,13 +5772,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"js-sdsl@npm:^4.1.4": - version: 4.1.4 - resolution: "js-sdsl@npm:4.1.4" - checksum: 1977cea4ab18e0e03e28bdf0371d8b443fad65ca0988e0faa216406faf6bb943714fe8f7cc7a5bfe5f35ba3d94ddae399f4d10200f547f2c3320688b0670d726 - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -6121,6 +6273,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 + languageName: node + linkType: hard + "mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": version: 1.0.1 resolution: "mimic-response@npm:1.0.1" @@ -6448,6 +6607,15 @@ fsevents@~2.3.2: languageName: node linkType: hard +"npm-run-path@npm:^5.1.0": + version: 5.1.0 + resolution: "npm-run-path@npm:5.1.0" + dependencies: + path-key: ^4.0.0 + checksum: dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 + languageName: node + linkType: hard + "npmlog@npm:^4.1.2": version: 4.1.2 resolution: "npmlog@npm:4.1.2" @@ -6598,6 +6766,15 @@ fsevents@~2.3.2: languageName: node linkType: hard +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: ^4.0.0 + checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + languageName: node + linkType: hard + "open@npm:^8.0.9": version: 8.4.0 resolution: "open@npm:8.4.0" @@ -6609,6 +6786,18 @@ fsevents@~2.3.2: languageName: node linkType: hard +"open@npm:^9.1.0": + version: 9.1.0 + resolution: "open@npm:9.1.0" + dependencies: + default-browser: ^4.0.0 + define-lazy-prop: ^3.0.0 + is-inside-container: ^1.0.0 + is-wsl: ^2.2.0 + checksum: 3993c0f61d51fed8ac290e99c9c3cf45d3b6cfb3e2aa2b74cafd312c3486c22fd81df16ac8f3ab91dd8a4e3e729a16fc2480cfc406c4833416cf908acf1ae7c9 + languageName: node + linkType: hard + "optionator@npm:^0.8.1": version: 0.8.3 resolution: "optionator@npm:0.8.3" @@ -6821,6 +7010,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -7554,7 +7750,7 @@ fsevents@~2.3.2: version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." dependencies: - "@polkadot/dev": ^0.74.1 + "@polkadot/dev": ^0.75.4 "@polkadot/typegen": "workspace:packages/typegen" "@types/node": ^20.2.0 languageName: unknown @@ -7567,6 +7763,15 @@ fsevents@~2.3.2: languageName: node linkType: hard +"run-applescript@npm:^5.0.0": + version: 5.0.0 + resolution: "run-applescript@npm:5.0.0" + dependencies: + execa: ^5.0.0 + checksum: d00c2dbfa5b2d774de7451194b8b125f40f65fc183de7d9dcae97f57f59433586d3c39b9001e111c38bfa24c3436c99df1bb4066a2a0c90d39a8c4cd6889af77 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -8209,6 +8414,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -8307,6 +8519,16 @@ fsevents@~2.3.2: languageName: node linkType: hard +"synckit@npm:^0.8.5": + version: 0.8.5 + resolution: "synckit@npm:0.8.5" + dependencies: + "@pkgr/utils": ^2.3.1 + tslib: ^2.5.0 + checksum: 8a9560e5d8f3d94dc3cf5f7b9c83490ffa30d320093560a37b88f59483040771fd1750e76b9939abfbb1b5a23fd6dfbae77f6b338abffe7cae7329cd9b9bb86b + languageName: node + linkType: hard + "tapable@npm:^2.1.1, tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -8402,6 +8624,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"titleize@npm:^3.0.0": + version: 3.0.0 + resolution: "titleize@npm:3.0.0" + checksum: 71fbbeabbfb36ccd840559f67f21e356e1d03da2915b32d2ae1a60ddcc13a124be2739f696d2feb884983441d159a18649e8d956648d591bdad35c430a6b6d28 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -8514,10 +8743,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0, tslib@npm:^2.5.1": - version: 2.5.1 - resolution: "tslib@npm:2.5.1" - checksum: 535e41e956b32d21aeff007a2c74989d1a6bf3fecb2b0141d80e5b9920bf90e23b4f0cd3772704bc03637c762dbdc1a314d75a407dd7189afbe3e83d80df9392 +"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0, tslib@npm:^2.5.1, tslib@npm:^2.5.2": + version: 2.5.2 + resolution: "tslib@npm:2.5.2" + checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222 languageName: node linkType: hard @@ -8698,6 +8927,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"untildify@npm:^4.0.0": + version: 4.0.0 + resolution: "untildify@npm:4.0.0" + checksum: 39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9 + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.0.10": version: 1.0.10 resolution: "update-browserslist-db@npm:1.0.10"