From fcee83d803986d4768e19dcc80c644d65c5eb98d Mon Sep 17 00:00:00 2001 From: Jaco Date: Sat, 18 Dec 2021 16:31:18 +0100 Subject: [PATCH] Split into types-augment (#4350) * Aplit into types-augment * Adjust * Adjust, fix typegen run * Adjust * Rebuild * Adjust * Adjust * CC --- .codeclimate.yml | 3 +- jest.config.cjs | 4 +- packages/api-augment/src/augment/index.ts | 2 +- packages/api-augment/src/bundle.ts | 2 +- packages/api-augment/src/types.ts | 2 +- packages/api-augment/tsconfig.json | 3 +- packages/api-contract/tsconfig.spec.json | 3 +- packages/api-derive/src/augment.ts | 4 +- packages/api-derive/tsconfig.spec.json | 1 + packages/api/src/augment.ts | 4 +- packages/api/tsconfig.json | 1 + packages/rpc-augment/src/augment/index.ts | 2 +- packages/rpc-augment/src/bundle.ts | 3 +- packages/rpc-augment/tsconfig.json | 3 +- packages/rpc-core/src/augment.ts | 2 +- packages/rpc-provider/src/mock/index.ts | 2 + packages/rpc-provider/tsconfig.json | 3 +- packages/typegen/package.json | 1 + packages/typegen/scripts/aliases.cjs | 38 ++-- .../scripts/polkadot-types-chain-info.cjs | 21 +- .../scripts/polkadot-types-from-chain.cjs | 17 +- .../scripts/polkadot-types-from-defs.cjs | 18 +- .../polkadot-types-internal-interfaces.cjs | 17 +- .../polkadot-types-internal-metadata.cjs | 17 +- packages/typegen/src/generate/consts.ts | 6 +- packages/typegen/src/generate/events.ts | 6 +- .../typegen/src/generate/interfaceRegistry.ts | 2 +- packages/typegen/src/generate/lookup.ts | 2 +- packages/typegen/src/generate/query.ts | 6 +- packages/typegen/src/generate/rpc.ts | 2 +- packages/typegen/src/generate/tx.ts | 6 +- .../src/templates/interfaceRegistry.hbs | 2 +- .../typegen/src/templates/lookup/types.hbs | 2 +- packages/typegen/tsconfig.json | 3 + packages/types-augment/LICENSE | 201 ++++++++++++++++++ packages/types-augment/README.md | 3 + packages/types-augment/package.json | 30 +++ packages/types-augment/src/augment/index.ts | 6 + .../src/augment/lookup/definitions.ts | 4 +- .../src/augment/lookup/index.ts | 0 .../src/augment/lookup/kusama.ts | 0 .../src/augment/lookup/polkadot.ts | 0 .../src/augment/lookup/substrate.ts | 0 .../src/augment/lookup/types-kusama.ts | 2 +- .../src/augment/lookup/types-polkadot.ts | 2 +- .../src/augment/lookup/types-substrate.ts | 2 +- .../src/augment/lookup/types.ts | 2 +- .../src/augment/registry.ts | 2 +- .../types-augment/src/augment/types/index.ts | 7 + .../types-augment/src/augment/types/lookup.ts | 6 + .../src/augment/types/registry.ts | 6 + packages/types-augment/src/bundle.ts | 6 + packages/types-augment/src/detectPackage.ts | 9 + packages/types-augment/src/index.ts | 6 + packages/types-augment/src/packageInfo.ts | 6 + packages/types-augment/tsconfig.json | 11 + packages/types-codec/src/checkTypes.manual.ts | 12 ++ packages/types-codec/tsconfig.json | 1 + packages/types-codec/tsconfig.spec.json | 2 + packages/types-create/tsconfig.spec.json | 1 + packages/types/src/augment/index.ts | 5 - packages/types/src/checkTypes.manual.ts | 2 + packages/types/src/create/registry.ts | 14 +- packages/types/src/types/index.ts | 3 - packages/types/src/types/registry.ts | 5 + packages/types/tsconfig.json | 4 + packages/types/tsconfig.spec.json | 22 ++ rollup.config.mjs | 2 +- tsconfig.base.json | 2 + tsconfig.json | 2 + yarn.lock | 11 + 71 files changed, 449 insertions(+), 160 deletions(-) create mode 100644 packages/types-augment/LICENSE create mode 100644 packages/types-augment/README.md create mode 100644 packages/types-augment/package.json create mode 100644 packages/types-augment/src/augment/index.ts rename packages/{types => types-augment}/src/augment/lookup/definitions.ts (76%) rename packages/{types => types-augment}/src/augment/lookup/index.ts (100%) rename packages/{types => types-augment}/src/augment/lookup/kusama.ts (100%) rename packages/{types => types-augment}/src/augment/lookup/polkadot.ts (100%) rename packages/{types => types-augment}/src/augment/lookup/substrate.ts (100%) rename packages/{types => types-augment}/src/augment/lookup/types-kusama.ts (99%) rename packages/{types => types-augment}/src/augment/lookup/types-polkadot.ts (99%) rename packages/{types => types-augment}/src/augment/lookup/types-substrate.ts (99%) rename packages/{types => types-augment}/src/augment/lookup/types.ts (63%) rename packages/{types => types-augment}/src/augment/registry.ts (99%) create mode 100644 packages/types-augment/src/augment/types/index.ts create mode 100644 packages/types-augment/src/augment/types/lookup.ts create mode 100644 packages/types-augment/src/augment/types/registry.ts create mode 100644 packages/types-augment/src/bundle.ts create mode 100644 packages/types-augment/src/detectPackage.ts create mode 100644 packages/types-augment/src/index.ts create mode 100644 packages/types-augment/src/packageInfo.ts create mode 100644 packages/types-augment/tsconfig.json create mode 100644 packages/types-codec/src/checkTypes.manual.ts delete mode 100644 packages/types/src/augment/index.ts create mode 100644 packages/types/tsconfig.spec.json diff --git a/.codeclimate.yml b/.codeclimate.yml index d46eadcd48..8a71d39488 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -19,8 +19,7 @@ exclude_patterns: - "**/*.test.ts" - "docs/**/*.js" - "docs/**/*.ts" -- "packages/api-augment/" -- "packages/rpc-augment/" +- "packages/*-augment/" - "packages/typegen/scripts" - "packages/typegen/src" - "packages/types/src/interfaces/" diff --git a/jest.config.cjs b/jest.config.cjs index 3b81be3cf7..6358b7eb44 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -9,9 +9,9 @@ module.exports = { '@polkadot/api-(augment|base|contract|derive)(.*)$': '/packages/api-$1/src/$2', // eslint-disable-next-line sort-keys '@polkadot/api(.*)$': '/packages/api/src/$1', - '@polkadot/rpc-(core|provider)(.*)$': '/packages/rpc-$1/src/$2', + '@polkadot/rpc-(augment|core|provider)(.*)$': '/packages/rpc-$1/src/$2', '@polkadot/typegen(.*)$': '/packages/typegen/src/$1', - '@polkadot/types-(codec|create|known|support)(.*)$': '/packages/types-$1/src/$2', + '@polkadot/types-(augment|codec|create|known|support)(.*)$': '/packages/types-$1/src/$2', // eslint-disable-next-line sort-keys '@polkadot/types(.*)$': '/packages/types/src/$1' }, diff --git a/packages/api-augment/src/augment/index.ts b/packages/api-augment/src/augment/index.ts index 04234a686c..bf9a7b8811 100644 --- a/packages/api-augment/src/augment/index.ts +++ b/packages/api-augment/src/augment/index.ts @@ -1,7 +1,7 @@ // Copyright 2017-2021 @polkadot/api-augment authors & contributors // SPDX-License-Identifier: Apache-2.0 -import '@polkadot/types/augment'; +import '@polkadot/types-augment'; import './consts'; import './errors'; import './events'; diff --git a/packages/api-augment/src/bundle.ts b/packages/api-augment/src/bundle.ts index 2a2ed3266c..9fb6782e07 100644 --- a/packages/api-augment/src/bundle.ts +++ b/packages/api-augment/src/bundle.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // trigger in the same way as we do externally -import '@polkadot/api-augment/augment'; +import './augment'; export { packageInfo } from './packageInfo'; diff --git a/packages/api-augment/src/types.ts b/packages/api-augment/src/types.ts index baa1a40afe..09984dc308 100644 --- a/packages/api-augment/src/types.ts +++ b/packages/api-augment/src/types.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // trigger in the same way as we do externally -import '@polkadot/api-augment/augment'; +import '@polkadot/api-augment'; // Important: we do the exports here via the full package name export * from '@polkadot/api-augment/consts'; diff --git a/packages/api-augment/tsconfig.json b/packages/api-augment/tsconfig.json index 3952b3b3a7..59ad1a3dd3 100644 --- a/packages/api-augment/tsconfig.json +++ b/packages/api-augment/tsconfig.json @@ -8,6 +8,7 @@ "references": [ { "path": "../api-base" }, { "path": "../rpc-core" }, - { "path": "../types" } + { "path": "../types" }, + { "path": "../types-augment" } ] } diff --git a/packages/api-contract/tsconfig.spec.json b/packages/api-contract/tsconfig.spec.json index e2bfd5840a..0f64aeb741 100644 --- a/packages/api-contract/tsconfig.spec.json +++ b/packages/api-contract/tsconfig.spec.json @@ -19,6 +19,7 @@ "references": [ { "path": "../api" }, { "path": "../api-contract" }, - { "path": "../types" } + { "path": "../types" }, + { "path": "../types-augment" } ] } diff --git a/packages/api-derive/src/augment.ts b/packages/api-derive/src/augment.ts index f0ee4b9ed0..4fff1f35e0 100644 --- a/packages/api-derive/src/augment.ts +++ b/packages/api-derive/src/augment.ts @@ -1,5 +1,5 @@ // Copyright 2017-2021 @polkadot/api-derive authors & contributors // SPDX-License-Identifier: Apache-2.0 -import '@polkadot/api-augment/augment'; -import '@polkadot/rpc-augment/augment'; +import '@polkadot/api-augment'; +import '@polkadot/rpc-augment'; diff --git a/packages/api-derive/tsconfig.spec.json b/packages/api-derive/tsconfig.spec.json index 4670dfd676..857b3222fe 100644 --- a/packages/api-derive/tsconfig.spec.json +++ b/packages/api-derive/tsconfig.spec.json @@ -17,6 +17,7 @@ { "path": "../api-base" }, { "path": "../api-derive" }, { "path": "../types" }, + { "path": "../types-augment" }, { "path": "../types-codec" } ] } diff --git a/packages/api/src/augment.ts b/packages/api/src/augment.ts index f83e35e1f8..453f1d19b7 100644 --- a/packages/api/src/augment.ts +++ b/packages/api/src/augment.ts @@ -1,5 +1,5 @@ // Copyright 2017-2021 @polkadot/api authors & contributors // SPDX-License-Identifier: Apache-2.0 -import '@polkadot/api-augment/augment'; -import '@polkadot/rpc-augment/augment'; +import '@polkadot/api-augment'; +import '@polkadot/rpc-augment'; diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index 8caca70230..c10d563da5 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -16,6 +16,7 @@ { "path": "../rpc-core" }, { "path": "../rpc-provider" }, { "path": "../types" }, + { "path": "../types-augment" }, { "path": "../types-known" } ] } diff --git a/packages/rpc-augment/src/augment/index.ts b/packages/rpc-augment/src/augment/index.ts index 66ee8b7943..44427f558b 100644 --- a/packages/rpc-augment/src/augment/index.ts +++ b/packages/rpc-augment/src/augment/index.ts @@ -1,5 +1,5 @@ // Copyright 2017-2021 @polkadot/rpc-augment authors & contributors // SPDX-License-Identifier: Apache-2.0 -import '@polkadot/types/augment'; +import '@polkadot/types-augment'; import './rpc'; diff --git a/packages/rpc-augment/src/bundle.ts b/packages/rpc-augment/src/bundle.ts index 721652445e..cf63cf5823 100644 --- a/packages/rpc-augment/src/bundle.ts +++ b/packages/rpc-augment/src/bundle.ts @@ -1,8 +1,7 @@ // Copyright 2017-2021 @polkadot/rpc-augment authors & contributors // SPDX-License-Identifier: Apache-2.0 -// trigger in the same way as we do externally -import '@polkadot/rpc-augment/augment'; +import './augment'; export { packageInfo } from './packageInfo'; diff --git a/packages/rpc-augment/tsconfig.json b/packages/rpc-augment/tsconfig.json index 062eb84f27..1256f2012b 100644 --- a/packages/rpc-augment/tsconfig.json +++ b/packages/rpc-augment/tsconfig.json @@ -6,6 +6,7 @@ "rootDir": "./src" }, "references": [ - { "path": "../types" } + { "path": "../types" }, + { "path": "../types-augment" } ] } diff --git a/packages/rpc-core/src/augment.ts b/packages/rpc-core/src/augment.ts index f0ba912821..66afe7dfc5 100644 --- a/packages/rpc-core/src/augment.ts +++ b/packages/rpc-core/src/augment.ts @@ -1,4 +1,4 @@ // Copyright 2017-2021 @polkadot/rpc-core authors & contributors // SPDX-License-Identifier: Apache-2.0 -import '@polkadot/rpc-augment/augment'; +import '@polkadot/rpc-augment'; diff --git a/packages/rpc-provider/src/mock/index.ts b/packages/rpc-provider/src/mock/index.ts index 9133ddb65d..3f6dafb63b 100644 --- a/packages/rpc-provider/src/mock/index.ts +++ b/packages/rpc-provider/src/mock/index.ts @@ -3,6 +3,8 @@ /* eslint-disable camelcase */ +import '@polkadot/types-augment'; + import type { Header } from '@polkadot/types/interfaces'; import type { Codec, Registry } from '@polkadot/types/types'; import type { ProviderInterface, ProviderInterfaceEmitCb, ProviderInterfaceEmitted } from '../types'; diff --git a/packages/rpc-provider/tsconfig.json b/packages/rpc-provider/tsconfig.json index b0b6d5071f..d51e9feea7 100644 --- a/packages/rpc-provider/tsconfig.json +++ b/packages/rpc-provider/tsconfig.json @@ -7,6 +7,7 @@ "resolveJsonModule": true }, "references": [ - { "path": "../types" } + { "path": "../types" }, + { "path": "../types-augment" } ] } diff --git a/packages/typegen/package.json b/packages/typegen/package.json index 537b3a1ea7..654ced7cc8 100644 --- a/packages/typegen/package.json +++ b/packages/typegen/package.json @@ -37,6 +37,7 @@ "@polkadot/rpc-augment": "6.12.2-15", "@polkadot/rpc-provider": "6.12.2-15", "@polkadot/types": "6.12.2-15", + "@polkadot/types-augment": "6.12.2-15", "@polkadot/types-codec": "6.12.2-15", "@polkadot/types-create": "6.12.2-15", "@polkadot/types-support": "6.12.2-15", diff --git a/packages/typegen/scripts/aliases.cjs b/packages/typegen/scripts/aliases.cjs index 54006cdf97..b95e4ee518 100644 --- a/packages/typegen/scripts/aliases.cjs +++ b/packages/typegen/scripts/aliases.cjs @@ -3,20 +3,26 @@ /* eslint-disable sort-keys */ -module.exports = { - alias: { - '^@polkadot/api-augment(.*)': './packages/api-augment/src\\1', - '^@polkadot/api-base(.*)': './packages/api-base/src\\1', - '^@polkadot/api-derive(.*)': './packages/api-derive/src\\1', - '^@polkadot/api(.*)': './packages/api/src/\\1', - '^@polkadot/rpc-augment(.*)': './packages/rpc-augment/src\\1', - '^@polkadot/rpc-core(.*)': './packages/rpc-core/src\\1', - '^@polkadot/rpc-provider(.*)': './packages/rpc-provider/src\\1', - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-metadata(.*)': './packages/types-metadata/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } +const alias = { + '^@polkadot/api-augment(.*)': './packages/api-augment/src\\1', + '^@polkadot/api-base(.*)': './packages/api-base/src\\1', + '^@polkadot/api-derive(.*)': './packages/api-derive/src\\1', + '^@polkadot/api(.*)': './packages/api/src/\\1', + '^@polkadot/rpc-augment(.*)': './packages/rpc-augment/src\\1', + '^@polkadot/rpc-core(.*)': './packages/rpc-core/src\\1', + '^@polkadot/rpc-provider(.*)': './packages/rpc-provider/src\\1', + '^@polkadot/types-(augment)(.*)': './packages/types-\\1/src\\2', + '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', + '^@polkadot/types-create(.*)': './packages/types-create/src\\1', + '^@polkadot/types-known(.*)': './packages/types-known/src\\1', + '^@polkadot/types-metadata(.*)': './packages/types-metadata/src\\1', + '^@polkadot/types-support(.*)': './packages/types-support/src\\1', + '^@polkadot/types(.*)': './packages/types/src\\1' }; + +require('@babel/register')({ + extensions: ['.js', '.ts'], + plugins: [ + ['module-resolver', { alias }] + ] +}); diff --git a/packages/typegen/scripts/polkadot-types-chain-info.cjs b/packages/typegen/scripts/polkadot-types-chain-info.cjs index 82131ee931..e21a700b8d 100755 --- a/packages/typegen/scripts/polkadot-types-chain-info.cjs +++ b/packages/typegen/scripts/polkadot-types-chain-info.cjs @@ -2,8 +2,6 @@ // Copyright 2017-2021 @polkadot/typegen authors & contributors // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable sort-keys */ - let main; try { @@ -11,24 +9,7 @@ try { } catch (error) { process.env.JEST_WORKER_ID = '123'; - require('@babel/register')({ - extensions: ['.js', '.ts'], - plugins: [ - ['module-resolver', { - alias: { - '^@polkadot/api-derive(.*)': './packages/api-derive/src\\1', - '^@polkadot/api(.*)': './packages/api/src/\\1', - '^@polkadot/rpc-core(.*)': './packages/rpc-core/src\\1', - '^@polkadot/rpc-provider(.*)': './packages/rpc-provider/src\\1', - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } - }] - ] - }); + require('./aliases.cjs'); main = require('../src/extractChain.ts').main; } diff --git a/packages/typegen/scripts/polkadot-types-from-chain.cjs b/packages/typegen/scripts/polkadot-types-from-chain.cjs index 708da87fd1..5d31b6a3fd 100755 --- a/packages/typegen/scripts/polkadot-types-from-chain.cjs +++ b/packages/typegen/scripts/polkadot-types-from-chain.cjs @@ -2,8 +2,6 @@ // Copyright 2017-2021 @polkadot/typegen authors & contributors // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable sort-keys */ - let main; try { @@ -11,20 +9,7 @@ try { } catch (error) { process.env.JEST_WORKER_ID = '123'; - require('@babel/register')({ - extensions: ['.js', '.ts'], - plugins: [ - ['module-resolver', { - alias: { - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } - }] - ] - }); + require('./aliases.cjs'); main = require('../src/fromChain').main; } diff --git a/packages/typegen/scripts/polkadot-types-from-defs.cjs b/packages/typegen/scripts/polkadot-types-from-defs.cjs index 5c4ed34dd3..c86c8ed912 100755 --- a/packages/typegen/scripts/polkadot-types-from-defs.cjs +++ b/packages/typegen/scripts/polkadot-types-from-defs.cjs @@ -2,8 +2,6 @@ // Copyright 2017-2021 @polkadot/typegen authors & contributors // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable sort-keys */ - let main; try { @@ -11,21 +9,7 @@ try { } catch (error) { process.env.JEST_WORKER_ID = '123'; - require('@babel/register')({ - extensions: ['.js', '.ts'], - plugins: [ - ['module-resolver', { - alias: { - '^@polkadot/typegen(.*)': './packages/typegen/src\\1', - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } - }] - ] - }); + require('./aliases.cjs'); main = require('../src/fromDefs.ts').main; } diff --git a/packages/typegen/scripts/polkadot-types-internal-interfaces.cjs b/packages/typegen/scripts/polkadot-types-internal-interfaces.cjs index 2531f4e9e8..cab0f5df8d 100755 --- a/packages/typegen/scripts/polkadot-types-internal-interfaces.cjs +++ b/packages/typegen/scripts/polkadot-types-internal-interfaces.cjs @@ -2,8 +2,6 @@ // Copyright 2017-2021 @polkadot/typegen authors & contributors // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable sort-keys */ - let main; try { @@ -11,20 +9,7 @@ try { } catch (error) { process.env.JEST_WORKER_ID = '123'; - require('@babel/register')({ - extensions: ['.js', '.ts'], - plugins: [ - ['module-resolver', { - alias: { - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } - }] - ] - }); + require('./aliases.cjs'); main = require('../src/interfacesTs.ts').main; } diff --git a/packages/typegen/scripts/polkadot-types-internal-metadata.cjs b/packages/typegen/scripts/polkadot-types-internal-metadata.cjs index f869a617de..aa26f01e33 100755 --- a/packages/typegen/scripts/polkadot-types-internal-metadata.cjs +++ b/packages/typegen/scripts/polkadot-types-internal-metadata.cjs @@ -2,8 +2,6 @@ // Copyright 2017-2021 @polkadot/typegen authors & contributors // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable sort-keys */ - let main; try { @@ -11,20 +9,7 @@ try { } catch (error) { process.env.JEST_WORKER_ID = '123'; - require('@babel/register')({ - extensions: ['.js', '.ts'], - plugins: [ - ['module-resolver', { - alias: { - '^@polkadot/types-codec(.*)': './packages/types-codec/src\\1', - '^@polkadot/types-create(.*)': './packages/types-create/src\\1', - '^@polkadot/types-known(.*)': './packages/types-known/src\\1', - '^@polkadot/types-support(.*)': './packages/types-support/src\\1', - '^@polkadot/types(.*)': './packages/types/src\\1' - } - }] - ] - }); + require('./aliases.cjs'); main = require('../src/metadataMd.ts').main; } diff --git a/packages/typegen/src/generate/consts.ts b/packages/typegen/src/generate/consts.ts index a734622b9c..3a85c25fd5 100644 --- a/packages/typegen/src/generate/consts.ts +++ b/packages/typegen/src/generate/consts.ts @@ -7,9 +7,9 @@ import type { ExtraTypes } from './types'; import Handlebars from 'handlebars'; -import lookupDefinitions from '@polkadot/types/augment/lookup/definitions'; import * as defaultDefs from '@polkadot/types/interfaces/definitions'; import { Definitions } from '@polkadot/types/types'; +import lookupDefinitions from '@polkadot/types-augment/augment/lookup/definitions'; import { stringCamelCase } from '@polkadot/util'; import { compareName, createImports, formatType, initMeta, readTemplate, setImports, writeFile } from '../util'; @@ -20,7 +20,7 @@ const generateForMetaTemplate = Handlebars.compile(readTemplate('consts')); function generateForMeta (meta: Metadata, dest: string, extraTypes: ExtraTypes, isStrict: boolean, customLookupDefinitions?: Definitions): void { writeFile(dest, (): string => { const allTypes = { - '@polkadot/types/augment': { + '@polkadot/types-augment': { lookup: { ...lookupDefinitions, ...customLookupDefinitions @@ -71,7 +71,7 @@ function generateForMeta (meta: Metadata, dest: string, extraTypes: ExtraTypes, modules, types: [ ...Object.keys(imports.localTypes).sort().map<{ file: string; types: string[] }>((packagePath) => ({ - file: packagePath.replace('@polkadot/types/augment', '@polkadot/types'), + file: packagePath.replace('@polkadot/types-augment', '@polkadot/types'), types: Object.keys(imports.localTypes[packagePath]) })), { diff --git a/packages/typegen/src/generate/events.ts b/packages/typegen/src/generate/events.ts index 0929debd89..d100512227 100644 --- a/packages/typegen/src/generate/events.ts +++ b/packages/typegen/src/generate/events.ts @@ -7,9 +7,9 @@ import type { ExtraTypes } from './types'; import Handlebars from 'handlebars'; -import lookupDefinitions from '@polkadot/types/augment/lookup/definitions'; import * as defaultDefs from '@polkadot/types/interfaces/definitions'; import { Definitions } from '@polkadot/types/types'; +import lookupDefinitions from '@polkadot/types-augment/augment/lookup/definitions'; import { stringCamelCase } from '@polkadot/util'; import { compareName, createImports, formatType, initMeta, readTemplate, setImports, writeFile } from '../util'; @@ -20,7 +20,7 @@ const generateForMetaTemplate = Handlebars.compile(readTemplate('events')); function generateForMeta (meta: Metadata, dest: string, extraTypes: ExtraTypes, isStrict: boolean, customLookupDefinitions?: Definitions): void { writeFile(dest, (): string => { const allTypes = { - '@polkadot/types/augment': { + '@polkadot/types-augment': { lookup: { ...lookupDefinitions, ...customLookupDefinitions @@ -63,7 +63,7 @@ function generateForMeta (meta: Metadata, dest: string, extraTypes: ExtraTypes, modules, types: [ ...Object.keys(imports.localTypes).sort().map((packagePath): { file: string; types: string[] } => ({ - file: packagePath.replace('@polkadot/types/augment', '@polkadot/types'), + file: packagePath.replace('@polkadot/types-augment', '@polkadot/types'), types: Object.keys(imports.localTypes[packagePath]) })), { diff --git a/packages/typegen/src/generate/interfaceRegistry.ts b/packages/typegen/src/generate/interfaceRegistry.ts index b08b1e4fff..d1813fc7d4 100644 --- a/packages/typegen/src/generate/interfaceRegistry.ts +++ b/packages/typegen/src/generate/interfaceRegistry.ts @@ -79,6 +79,6 @@ export function generateInterfaceTypes (importDefinitions: { [importPath: string export function generateDefaultInterface (): void { generateInterfaceTypes( { '@polkadot/types/interfaces': defaultDefinitions }, - 'packages/types/src/augment/registry.ts' + 'packages/types-augment/src/augment/registry.ts' ); } diff --git a/packages/typegen/src/generate/lookup.ts b/packages/typegen/src/generate/lookup.ts index f5d8bc987b..3f48bb0f81 100644 --- a/packages/typegen/src/generate/lookup.ts +++ b/packages/typegen/src/generate/lookup.ts @@ -231,7 +231,7 @@ function generateLookup (destDir: string, entries: [string | undefined, HexStrin } // Generate `packages/types/src/lookup/*s`, the registry of all lookup types -export function generateDefaultLookup (destDir = 'packages/types/src/augment/lookup', staticData?: HexString): void { +export function generateDefaultLookup (destDir = 'packages/types-augment/src/augment/lookup', staticData?: HexString): void { generateLookup( destDir, staticData diff --git a/packages/typegen/src/generate/query.ts b/packages/typegen/src/generate/query.ts index 4aa5e9fe96..346bf1df72 100644 --- a/packages/typegen/src/generate/query.ts +++ b/packages/typegen/src/generate/query.ts @@ -9,9 +9,9 @@ import type { ExtraTypes } from './types'; import Handlebars from 'handlebars'; -import lookupDefinitions from '@polkadot/types/augment/lookup/definitions'; import * as defaultDefs from '@polkadot/types/interfaces/definitions'; import { unwrapStorageSi } from '@polkadot/types/primitive/StorageKey'; +import lookupDefinitions from '@polkadot/types-augment/augment/lookup/definitions'; import { stringCamelCase } from '@polkadot/util'; import { compareName, createImports, formatType, getSimilarTypes, initMeta, readTemplate, setImports, TypeImports, writeFile } from '../util'; @@ -69,7 +69,7 @@ function entrySignature (lookup: PortableRegistry, allDefs: Record { const allTypes: ExtraTypes = { - '@polkadot/types/augment': { + '@polkadot/types-augment': { lookup: { ...lookupDefinitions, ...customLookupDefinitions @@ -120,7 +120,7 @@ function generateForMeta (registry: Registry, meta: Metadata, dest: string, extr modules, types: [ ...Object.keys(imports.localTypes).sort().map((packagePath): { file: string; types: string[] } => ({ - file: packagePath.replace('@polkadot/types/augment', '@polkadot/types'), + file: packagePath.replace('@polkadot/types-augment', '@polkadot/types'), types: Object.keys(imports.localTypes[packagePath]) })), { diff --git a/packages/typegen/src/generate/rpc.ts b/packages/typegen/src/generate/rpc.ts index c9594571b7..64db8bfd8f 100644 --- a/packages/typegen/src/generate/rpc.ts +++ b/packages/typegen/src/generate/rpc.ts @@ -131,7 +131,7 @@ export function generateRpcTypes (registry: TypeRegistry, importDefinitions: Rec modules, types: [ ...Object.keys(imports.localTypes).sort().map((packagePath): { file: string; types: string[] } => ({ - file: packagePath.replace('@polkadot/types/augment', '@polkadot/types'), + file: packagePath.replace('@polkadot/types-augment', '@polkadot/types'), types: Object.keys(imports.localTypes[packagePath]) })), { diff --git a/packages/typegen/src/generate/tx.ts b/packages/typegen/src/generate/tx.ts index a1ccf00100..84c9bbc77c 100644 --- a/packages/typegen/src/generate/tx.ts +++ b/packages/typegen/src/generate/tx.ts @@ -8,9 +8,9 @@ import type { ExtraTypes } from './types'; import Handlebars from 'handlebars'; -import lookupDefinitions from '@polkadot/types/augment/lookup/definitions'; import * as defaultDefs from '@polkadot/types/interfaces/definitions'; import { Text } from '@polkadot/types/primitive'; +import lookupDefinitions from '@polkadot/types-augment/augment/lookup/definitions'; import { stringCamelCase } from '@polkadot/util'; import { compareName, createImports, formatType, getSimilarTypes, initMeta, readTemplate, setImports, writeFile } from '../util'; @@ -32,7 +32,7 @@ function mapName (_name: Text): string { function generateForMeta (registry: Registry, meta: Metadata, dest: string, extraTypes: ExtraTypes, isStrict: boolean, customLookupDefinitions?: Definitions): void { writeFile(dest, (): string => { const allTypes: ExtraTypes = { - '@polkadot/types/augment': { + '@polkadot/types-augment': { lookup: { ...lookupDefinitions, ...customLookupDefinitions @@ -105,7 +105,7 @@ function generateForMeta (registry: Registry, meta: Metadata, dest: string, extr modules, types: [ ...Object.keys(imports.localTypes).sort().map((packagePath): { file: string; types: string[] } => ({ - file: packagePath.replace('@polkadot/types/augment', '@polkadot/types'), + file: packagePath.replace('@polkadot/types-augment', '@polkadot/types'), types: Object.keys(imports.localTypes[packagePath]) })), { diff --git a/packages/typegen/src/templates/interfaceRegistry.hbs b/packages/typegen/src/templates/interfaceRegistry.hbs index 34e12f80dd..a077d248f0 100644 --- a/packages/typegen/src/templates/interfaceRegistry.hbs +++ b/packages/typegen/src/templates/interfaceRegistry.hbs @@ -2,7 +2,7 @@ {{{ importsRelative }}} -declare module '@polkadot/types/types/registry' { +declare module '@polkadot/types-augment/registry' { {{{ importsPackage }}} export interface InterfaceTypes { diff --git a/packages/typegen/src/templates/lookup/types.hbs b/packages/typegen/src/templates/lookup/types.hbs index 8fa1bc3db8..2a99a07c3c 100644 --- a/packages/typegen/src/templates/lookup/types.hbs +++ b/packages/typegen/src/templates/lookup/types.hbs @@ -2,7 +2,7 @@ {{{ importsRelative }}} -declare module '@polkadot/types/lookup' { +declare module '@polkadot/types-augment/lookup' { {{{ importsPackage }}} {{#each items}} diff --git a/packages/typegen/tsconfig.json b/packages/typegen/tsconfig.json index fa21632001..c573bc1231 100644 --- a/packages/typegen/tsconfig.json +++ b/packages/typegen/tsconfig.json @@ -7,7 +7,10 @@ }, "references": [ { "path": "../api" }, + { "path": "../api-augment" }, + { "path": "../rpc-augment" }, { "path": "../rpc-provider" }, + { "path": "../types-augment" }, { "path": "../types-codec" }, { "path": "../types-support" } ] diff --git a/packages/types-augment/LICENSE b/packages/types-augment/LICENSE new file mode 100644 index 0000000000..0d381b2e97 --- /dev/null +++ b/packages/types-augment/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/packages/types-augment/README.md b/packages/types-augment/README.md new file mode 100644 index 0000000000..c45d91fe41 --- /dev/null +++ b/packages/types-augment/README.md @@ -0,0 +1,3 @@ +# @polkadot/api-augment + +Generated augmentation. diff --git a/packages/types-augment/package.json b/packages/types-augment/package.json new file mode 100644 index 0000000000..2b013b7747 --- /dev/null +++ b/packages/types-augment/package.json @@ -0,0 +1,30 @@ +{ + "author": "Jaco Greeff ", + "bugs": "https://github.com/polkadot-js/api/issues", + "contributors": [], + "description": "Types generated augmentation", + "engines": { + "node": ">=14.0.0" + }, + "homepage": "https://github.com/polkadot-js/api/tree/master/packages/types-augment#readme", + "license": "Apache-2.0", + "maintainers": [], + "name": "@polkadot/types-augment", + "repository": { + "directory": "packages/types-augment", + "type": "git", + "url": "https://github.com/polkadot-js/api.git" + }, + "sideEffects": [ + "./detectPackage.js", + "./detectPackage.cjs" + ], + "type": "module", + "version": "6.12.2-15", + "main": "index.js", + "dependencies": { + "@babel/runtime": "^7.16.5", + "@polkadot/types": "6.12.2-15", + "@polkadot/util": "^8.1.2" + } +} diff --git a/packages/types-augment/src/augment/index.ts b/packages/types-augment/src/augment/index.ts new file mode 100644 index 0000000000..2e0f22cfb1 --- /dev/null +++ b/packages/types-augment/src/augment/index.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import './lookup'; +import './registry'; +import './types'; diff --git a/packages/types/src/augment/lookup/definitions.ts b/packages/types-augment/src/augment/lookup/definitions.ts similarity index 76% rename from packages/types/src/augment/lookup/definitions.ts rename to packages/types-augment/src/augment/lookup/definitions.ts index 8fc4d97141..f8dd311890 100644 --- a/packages/types/src/augment/lookup/definitions.ts +++ b/packages/types-augment/src/augment/lookup/definitions.ts @@ -1,7 +1,7 @@ -// Copyright 2017-2021 @polkadot/api authors & contributors +// Copyright 2017-2021 @polkadot/types-lookup authors & contributors // SPDX-License-Identifier: Apache-2.0 -import type { Definitions } from '../../types'; +import type { Definitions } from '@polkadot/types/types'; import { objectSpread } from '@polkadot/util'; diff --git a/packages/types/src/augment/lookup/index.ts b/packages/types-augment/src/augment/lookup/index.ts similarity index 100% rename from packages/types/src/augment/lookup/index.ts rename to packages/types-augment/src/augment/lookup/index.ts diff --git a/packages/types/src/augment/lookup/kusama.ts b/packages/types-augment/src/augment/lookup/kusama.ts similarity index 100% rename from packages/types/src/augment/lookup/kusama.ts rename to packages/types-augment/src/augment/lookup/kusama.ts diff --git a/packages/types/src/augment/lookup/polkadot.ts b/packages/types-augment/src/augment/lookup/polkadot.ts similarity index 100% rename from packages/types/src/augment/lookup/polkadot.ts rename to packages/types-augment/src/augment/lookup/polkadot.ts diff --git a/packages/types/src/augment/lookup/substrate.ts b/packages/types-augment/src/augment/lookup/substrate.ts similarity index 100% rename from packages/types/src/augment/lookup/substrate.ts rename to packages/types-augment/src/augment/lookup/substrate.ts diff --git a/packages/types/src/augment/lookup/types-kusama.ts b/packages/types-augment/src/augment/lookup/types-kusama.ts similarity index 99% rename from packages/types/src/augment/lookup/types-kusama.ts rename to packages/types-augment/src/augment/lookup/types-kusama.ts index 284ab436b0..8fb7d5c3ec 100644 --- a/packages/types/src/augment/lookup/types-kusama.ts +++ b/packages/types-augment/src/augment/lookup/types-kusama.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -declare module '@polkadot/types/lookup' { +declare module '@polkadot/types-augment/lookup' { import type { BitVec, Compact, Enum, Null, Option, Struct, Vec, u16, u32 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { H256, PerU16 } from '@polkadot/types/interfaces/runtime'; diff --git a/packages/types/src/augment/lookup/types-polkadot.ts b/packages/types-augment/src/augment/lookup/types-polkadot.ts similarity index 99% rename from packages/types/src/augment/lookup/types-polkadot.ts rename to packages/types-augment/src/augment/lookup/types-polkadot.ts index 23ca6ec3ec..749c021398 100644 --- a/packages/types/src/augment/lookup/types-polkadot.ts +++ b/packages/types-augment/src/augment/lookup/types-polkadot.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -declare module '@polkadot/types/lookup' { +declare module '@polkadot/types-augment/lookup' { import type { BitVec, Bytes, Compact, Enum, Null, Option, Result, Struct, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { EthereumAddress } from '@polkadot/types/interfaces/eth'; diff --git a/packages/types/src/augment/lookup/types-substrate.ts b/packages/types-augment/src/augment/lookup/types-substrate.ts similarity index 99% rename from packages/types/src/augment/lookup/types-substrate.ts rename to packages/types-augment/src/augment/lookup/types-substrate.ts index f54f243c61..3a501f77d7 100644 --- a/packages/types/src/augment/lookup/types-substrate.ts +++ b/packages/types-augment/src/augment/lookup/types-substrate.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -declare module '@polkadot/types/lookup' { +declare module '@polkadot/types-augment/lookup' { import type { Data } from '@polkadot/types'; import type { BTreeMap, Bytes, Compact, Enum, Null, Option, Result, Set, Struct, Text, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; diff --git a/packages/types/src/augment/lookup/types.ts b/packages/types-augment/src/augment/lookup/types.ts similarity index 63% rename from packages/types/src/augment/lookup/types.ts rename to packages/types-augment/src/augment/lookup/types.ts index 0730ca9737..e0e1cb73b3 100644 --- a/packages/types/src/augment/lookup/types.ts +++ b/packages/types-augment/src/augment/lookup/types.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2021 @polkadot/types authors & contributors +// Copyright 2017-2021 @polkadot/types-augment authors & contributors // SPDX-License-Identifier: Apache-2.0 import './types-substrate'; diff --git a/packages/types/src/augment/registry.ts b/packages/types-augment/src/augment/registry.ts similarity index 99% rename from packages/types/src/augment/registry.ts rename to packages/types-augment/src/augment/registry.ts index 1ff29a3eed..95dd187e41 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types-augment/src/augment/registry.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -declare module '@polkadot/types/types/registry' { +declare module '@polkadot/types-augment/registry' { import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; diff --git a/packages/types-augment/src/augment/types/index.ts b/packages/types-augment/src/augment/types/index.ts new file mode 100644 index 0000000000..2c2ed46c05 --- /dev/null +++ b/packages/types-augment/src/augment/types/index.ts @@ -0,0 +1,7 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// NOTE: This is not a typical types export, rather this is to augment types + +import './lookup'; +import './registry'; diff --git a/packages/types-augment/src/augment/types/lookup.ts b/packages/types-augment/src/augment/types/lookup.ts new file mode 100644 index 0000000000..ebe3ac4c45 --- /dev/null +++ b/packages/types-augment/src/augment/types/lookup.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +declare module '@polkadot/types/lookup' { + export * from '@polkadot/types-augment/lookup'; +} diff --git a/packages/types-augment/src/augment/types/registry.ts b/packages/types-augment/src/augment/types/registry.ts new file mode 100644 index 0000000000..2b137f5117 --- /dev/null +++ b/packages/types-augment/src/augment/types/registry.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +declare module '@polkadot/types/types/registry' { + export { InterfaceTypes } from '@polkadot/types-augment/registry'; +} diff --git a/packages/types-augment/src/bundle.ts b/packages/types-augment/src/bundle.ts new file mode 100644 index 0000000000..115b3835cd --- /dev/null +++ b/packages/types-augment/src/bundle.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import './augment'; + +export { packageInfo } from './packageInfo'; diff --git a/packages/types-augment/src/detectPackage.ts b/packages/types-augment/src/detectPackage.ts new file mode 100644 index 0000000000..c9f193c9d7 --- /dev/null +++ b/packages/types-augment/src/detectPackage.ts @@ -0,0 +1,9 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import { packageInfo as typesInfo } from '@polkadot/types/packageInfo'; +import { detectPackage } from '@polkadot/util'; + +import { packageInfo } from './packageInfo'; + +detectPackage(packageInfo, typeof __dirname !== 'undefined' && __dirname, [typesInfo]); diff --git a/packages/types-augment/src/index.ts b/packages/types-augment/src/index.ts new file mode 100644 index 0000000000..d38cd76ca7 --- /dev/null +++ b/packages/types-augment/src/index.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import './detectPackage'; + +export * from './bundle'; diff --git a/packages/types-augment/src/packageInfo.ts b/packages/types-augment/src/packageInfo.ts new file mode 100644 index 0000000000..43886c57f8 --- /dev/null +++ b/packages/types-augment/src/packageInfo.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/types-augment authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// Auto-generated by @polkadot/dev, do not edit + +export const packageInfo = { name: '@polkadot/types-augment', version: '6.12.2-15' }; diff --git a/packages/types-augment/tsconfig.json b/packages/types-augment/tsconfig.json new file mode 100644 index 0000000000..062eb84f27 --- /dev/null +++ b/packages/types-augment/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": "..", + "outDir": "./build", + "rootDir": "./src" + }, + "references": [ + { "path": "../types" } + ] +} diff --git a/packages/types-codec/src/checkTypes.manual.ts b/packages/types-codec/src/checkTypes.manual.ts new file mode 100644 index 0000000000..e51baf0996 --- /dev/null +++ b/packages/types-codec/src/checkTypes.manual.ts @@ -0,0 +1,12 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import '@polkadot/types-augment'; + +import { TypeRegistry } from '@polkadot/types'; + +import { U32 } from '.'; + +const registry = new TypeRegistry(); + +console.log(new U32(registry).divn(1)); diff --git a/packages/types-codec/tsconfig.json b/packages/types-codec/tsconfig.json index d8a5f9b2f2..245ea120ea 100644 --- a/packages/types-codec/tsconfig.json +++ b/packages/types-codec/tsconfig.json @@ -8,6 +8,7 @@ }, "exclude": [ "**/*.data.ts", + "**/*.manual.ts", "**/*.spec.ts" ], "references": [] diff --git a/packages/types-codec/tsconfig.spec.json b/packages/types-codec/tsconfig.spec.json index 7c7f626415..6fc411a0b0 100644 --- a/packages/types-codec/tsconfig.spec.json +++ b/packages/types-codec/tsconfig.spec.json @@ -10,10 +10,12 @@ }, "include": [ "**/*.data.ts", + "**/*.manual.ts", "**/*.spec.ts" ], "references": [ { "path": "../types" }, + { "path": "../types-augment" }, { "path": "../types-codec" }, { "path": "../types-support" } ] diff --git a/packages/types-create/tsconfig.spec.json b/packages/types-create/tsconfig.spec.json index 2c0779298e..23fb75bea2 100644 --- a/packages/types-create/tsconfig.spec.json +++ b/packages/types-create/tsconfig.spec.json @@ -13,6 +13,7 @@ ], "references": [ { "path": "../types" }, + { "path": "../types-augment" }, { "path": "../types-codec" }, { "path": "../types-create" } ] diff --git a/packages/types/src/augment/index.ts b/packages/types/src/augment/index.ts deleted file mode 100644 index 233b69efe4..0000000000 --- a/packages/types/src/augment/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2017-2021 @polkadot/api authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import './lookup'; -import './registry'; diff --git a/packages/types/src/checkTypes.manual.ts b/packages/types/src/checkTypes.manual.ts index 8bc12af37b..f27b245e56 100644 --- a/packages/types/src/checkTypes.manual.ts +++ b/packages/types/src/checkTypes.manual.ts @@ -1,6 +1,8 @@ // Copyright 2017-2021 @polkadot/types authors & contributors // SPDX-License-Identifier: Apache-2.0 +import '@polkadot/types-augment'; + import type { Compact, Option } from './codec'; import type { AccountId, BlockAttestations, SessionKeys7 } from './interfaces'; import type { Bytes, u32 } from './primitive'; diff --git a/packages/types/src/create/registry.ts b/packages/types/src/create/registry.ts index e180271363..58d020e7ed 100644 --- a/packages/types/src/create/registry.ts +++ b/packages/types/src/create/registry.ts @@ -51,7 +51,7 @@ function getVariantStringIdx ({ index }: SiVariant): string { } // create error mapping from metadata -function injectErrors (_: Registry, { lookup, pallets }: MetadataLatest, version: number, result: Record>): void { +function injectErrors (_: TypeRegistry, { lookup, pallets }: MetadataLatest, version: number, result: Record>): void { clearRecord(result); for (let i = 0; i < pallets.length; i++) { @@ -76,7 +76,7 @@ function injectErrors (_: Registry, { lookup, pallets }: MetadataLatest, version } // create event classes from metadata -function injectEvents (registry: CodecRegistry, { lookup, pallets }: MetadataLatest, version: number, result: Record>>): void { +function injectEvents (registry: TypeRegistry, { lookup, pallets }: MetadataLatest, version: number, result: Record>>): void { const filtered = pallets.filter(filterEventsSome); clearRecord(result); @@ -99,7 +99,7 @@ function injectEvents (registry: CodecRegistry, { lookup, pallets }: MetadataLat } // create extrinsic mapping from metadata -function injectExtrinsics (registry: CodecRegistry, { lookup, pallets }: MetadataLatest, version: number, result: Record>): void { +function injectExtrinsics (registry: TypeRegistry, { lookup, pallets }: MetadataLatest, version: number, result: Record>): void { const filtered = pallets.filter(filterCallsSome); clearRecord(result); @@ -117,7 +117,7 @@ function injectExtrinsics (registry: CodecRegistry, { lookup, pallets }: Metadat } // extract additional properties from the metadata -function extractProperties (registry: CodecRegistry, metadata: Metadata): ChainProperties | undefined { +function extractProperties (registry: TypeRegistry, metadata: Metadata): ChainProperties | undefined { const original = (registry as Registry).getChainProperties(); const constants = decorateConstants(registry, metadata.asLatest, metadata.version); const ss58Format = constants.system && (constants.system.sS58Prefix || constants.system.ss58Prefix); @@ -128,7 +128,7 @@ function extractProperties (registry: CodecRegistry, metadata: Metadata): ChainP const { tokenDecimals, tokenSymbol } = original || {}; - return (registry as Registry).createType('ChainProperties', { ss58Format, tokenDecimals, tokenSymbol }); + return registry.createTypeUnsafe('ChainProperties', [{ ss58Format, tokenDecimals, tokenSymbol }]); } export class TypeRegistry implements Registry { @@ -286,8 +286,8 @@ export class TypeRegistry implements Registry { /** * @description Creates an instance of a type as registered */ - public createTypeUnsafe > (type: K, params: unknown[], options?: CreateOptions): R { - return createTypeUnsafe(this, type, params, options) as unknown as R; + public createTypeUnsafe (type: K, params: unknown[], options?: CreateOptions): T { + return createTypeUnsafe(this, type, params, options); } // find a specific call diff --git a/packages/types/src/types/index.ts b/packages/types/src/types/index.ts index 5852b5614f..d9afe9412b 100644 --- a/packages/types/src/types/index.ts +++ b/packages/types/src/types/index.ts @@ -1,9 +1,6 @@ // Copyright 2017-2021 @polkadot/types authors & contributors // SPDX-License-Identifier: Apache-2.0 -// augment the registry -import '@polkadot/types/augment'; - // used inside augmented definitions export type { Observable } from 'rxjs'; export * from '@polkadot/types/types/registry'; diff --git a/packages/types/src/types/registry.ts b/packages/types/src/types/registry.ts index 9b8cd631d7..2afd415266 100644 --- a/packages/types/src/types/registry.ts +++ b/packages/types/src/types/registry.ts @@ -17,6 +17,11 @@ import type { DetectCodec } from './detect'; export type { RegistryTypes } from '@polkadot/types-codec/types'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface InterfaceTypes { + // augmented inside @polkadot/types-augment +} + export type CodecHasher = (data: Uint8Array) => Uint8Array; export interface ChainUpgradeVersion { diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index 6a24449ba0..b54f4d2e58 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -6,6 +6,10 @@ "rootDir": "./src", "resolveJsonModule": true }, + "exclude": [ + "**/*.manual.ts", + "**/*.spec.ts" + ], "references": [ { "path": "../types-codec" }, { "path": "../types-create" }, diff --git a/packages/types/tsconfig.spec.json b/packages/types/tsconfig.spec.json new file mode 100644 index 0000000000..7fe2f1f98c --- /dev/null +++ b/packages/types/tsconfig.spec.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": "..", + "outDir": "./build", + "rootDir": "./src", + "emitDeclarationOnly": false, + "resolveJsonModule": true, + "noEmit": true + }, + "include": [ + "**/*.manual.ts", + "**/*.spec.ts" + ], + "references": [ + { "path": "../types" }, + { "path": "../types-augment" }, + { "path": "../types-codec" }, + { "path": "../types-create" }, + { "path": "../types-support" } + ] +} diff --git a/rollup.config.mjs b/rollup.config.mjs index 0ff028faaa..280fec6069 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -25,7 +25,7 @@ function expand (prefix, all) { const entries = [ ...expand('api', ['augment', 'base', 'derive']), ...expand('rpc', ['augment', 'core', 'provider']), - ...expand('types', ['codec', 'create', 'helpers', 'known']) + ...expand('types', ['augment', 'codec', 'create', 'helpers', 'known']) ].reduce((all, p) => ({ ...all, [`@polkadot/${p}`]: path.resolve(process.cwd(), `packages/${p}/build/bundle.js`) diff --git a/tsconfig.base.json b/tsconfig.base.json index 061781065d..bbee80f89c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -21,6 +21,8 @@ "@polkadot/rpc-provider/*": ["rpc-provider/src/*"], "@polkadot/types": ["types/src"], "@polkadot/types/*": ["types/src/*"], + "@polkadot/types-augment": ["types-augment/src"], + "@polkadot/types-augment/*": ["types-augment/src/*"], "@polkadot/types-codec": ["types-codec/src"], "@polkadot/types-codec/*": ["types-codec/src/*"], "@polkadot/types-create": ["types-create/src"], diff --git a/tsconfig.json b/tsconfig.json index 471bca48d1..9b6b8c9d12 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,8 @@ { "path": "./packages/rpc-provider" }, { "path": "./packages/typegen" }, { "path": "./packages/types" }, + { "path": "./packages/types/tsconfig.spec.json" }, + { "path": "./packages/types-augment" }, { "path": "./packages/types-codec" }, { "path": "./packages/types-codec/tsconfig.spec.json" }, { "path": "./packages/types-create" }, diff --git a/yarn.lock b/yarn.lock index fb7efec8c1..ee01996e86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2114,6 +2114,7 @@ __metadata: "@polkadot/rpc-augment": 6.12.2-15 "@polkadot/rpc-provider": 6.12.2-15 "@polkadot/types": 6.12.2-15 + "@polkadot/types-augment": 6.12.2-15 "@polkadot/types-codec": 6.12.2-15 "@polkadot/types-create": 6.12.2-15 "@polkadot/types-support": 6.12.2-15 @@ -2132,6 +2133,16 @@ __metadata: languageName: unknown linkType: soft +"@polkadot/types-augment@6.12.2-15, @polkadot/types-augment@workspace:packages/types-augment": + version: 0.0.0-use.local + resolution: "@polkadot/types-augment@workspace:packages/types-augment" + dependencies: + "@babel/runtime": ^7.16.5 + "@polkadot/types": 6.12.2-15 + "@polkadot/util": ^8.1.2 + languageName: unknown + linkType: soft + "@polkadot/types-codec@6.12.2-15, @polkadot/types-codec@workspace:packages/types-codec": version: 0.0.0-use.local resolution: "@polkadot/types-codec@workspace:packages/types-codec"