@pezkuwi/types-known 16.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +3 -0
  2. package/build/bundle.d.ts +3 -0
  3. package/build/chain/index.d.ts +2 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/packageDetect.d.ts +1 -0
  6. package/build/packageInfo.d.ts +6 -0
  7. package/build/spec/centrifuge-chain.d.ts +2 -0
  8. package/build/spec/index.d.ts +2 -0
  9. package/build/spec/kusama.d.ts +2 -0
  10. package/build/spec/node-template.d.ts +2 -0
  11. package/build/spec/node.d.ts +2 -0
  12. package/build/spec/polkadot.d.ts +2 -0
  13. package/build/spec/rococo.d.ts +2 -0
  14. package/build/spec/shell.d.ts +2 -0
  15. package/build/spec/statemine.d.ts +2 -0
  16. package/build/spec/statemint.d.ts +2 -0
  17. package/build/spec/westend.d.ts +2 -0
  18. package/build/spec/westmint.d.ts +2 -0
  19. package/build/upgrades/e2e/index.d.ts +3 -0
  20. package/build/upgrades/e2e/kusama.d.ts +2 -0
  21. package/build/upgrades/e2e/polkadot.d.ts +2 -0
  22. package/build/upgrades/e2e/westend.d.ts +2 -0
  23. package/build/upgrades/index.d.ts +2 -0
  24. package/build/upgrades/manual/index.d.ts +3 -0
  25. package/build/upgrades/manual/kusama.d.ts +2 -0
  26. package/build/upgrades/manual/polkadot.d.ts +2 -0
  27. package/build/upgrades/manual/westend.d.ts +2 -0
  28. package/build/upgrades/types.d.ts +3 -0
  29. package/build/util.d.ts +33 -0
  30. package/package.json +34 -0
  31. package/src/bundle.ts +11 -0
  32. package/src/chain/index.ts +7 -0
  33. package/src/index.ts +6 -0
  34. package/src/mod.ts +4 -0
  35. package/src/packageDetect.ts +12 -0
  36. package/src/packageInfo.ts +6 -0
  37. package/src/spec/centrifuge-chain.ts +116 -0
  38. package/src/spec/index.ts +31 -0
  39. package/src/spec/kusama.ts +258 -0
  40. package/src/spec/node-template.ts +17 -0
  41. package/src/spec/node.ts +17 -0
  42. package/src/spec/polkadot.ts +112 -0
  43. package/src/spec/rococo.ts +73 -0
  44. package/src/spec/shell.ts +15 -0
  45. package/src/spec/statemine.ts +62 -0
  46. package/src/spec/statemint.ts +74 -0
  47. package/src/spec/westend.ts +125 -0
  48. package/src/spec/westmint.ts +62 -0
  49. package/src/upgrades/e2e/index.spec.ts +67 -0
  50. package/src/upgrades/e2e/index.ts +6 -0
  51. package/src/upgrades/e2e/kusama.ts +5372 -0
  52. package/src/upgrades/e2e/polkadot.ts +3712 -0
  53. package/src/upgrades/e2e/westend.ts +6434 -0
  54. package/src/upgrades/index.spec.ts +118 -0
  55. package/src/upgrades/index.ts +40 -0
  56. package/src/upgrades/manual/index.ts +6 -0
  57. package/src/upgrades/manual/kusama.ts +26 -0
  58. package/src/upgrades/manual/polkadot.ts +19 -0
  59. package/src/upgrades/manual/westend.ts +27 -0
  60. package/src/upgrades/types.ts +8 -0
  61. package/src/util.ts +128 -0
  62. package/tsconfig.build.json +17 -0
  63. package/tsconfig.build.tsbuildinfo +1 -0
  64. package/tsconfig.spec.json +19 -0
@@ -0,0 +1,118 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import type { ChainUpgradesExpanded, ChainUpgradesRaw } from './types.js';
7
+
8
+ import { stringify, u8aEq } from '@pezkuwi/util';
9
+
10
+ import * as allGen from './e2e/index.js';
11
+ import * as allMan from './manual/index.js';
12
+ import { upgrades } from './index.js';
13
+
14
+ interface TestDef {
15
+ genesisHash: string;
16
+ network: string;
17
+ versions: [number, [number, number]][];
18
+ }
19
+
20
+ const TESTS: TestDef[] = [
21
+ {
22
+ genesisHash: '0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe',
23
+ network: 'kusama',
24
+ versions: [
25
+ [0, [0, 1020]],
26
+ [17, [901442, 1045]]
27
+ ]
28
+ },
29
+ {
30
+ genesisHash: '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3',
31
+ network: 'polkadot',
32
+ versions: [
33
+ [0, [0, 0]],
34
+ [19, [2436698, 26]]
35
+ ]
36
+ },
37
+ {
38
+ genesisHash: '0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e',
39
+ network: 'westend',
40
+ versions: [
41
+ [0, [214356, 4]],
42
+ [23, [4207800, 48]]
43
+ ]
44
+ }
45
+ ];
46
+
47
+ function checkOrder (network: string, versions: [number, number, ...unknown[]][]): void {
48
+ const ooo = versions.filter((curr, index): boolean => {
49
+ const prev = versions[index - 1];
50
+
51
+ return index === 0
52
+ ? false
53
+ : curr[0] <= prev[0] || curr[1] <= prev[1];
54
+ });
55
+
56
+ if (ooo.length) {
57
+ throw new Error(`${network}: Mismatched upgrade ordering: ${stringify(ooo)}`);
58
+ }
59
+ }
60
+
61
+ describe('generated', (): void => {
62
+ it('should have all the chains', (): void => {
63
+ expect(Object.keys(allMan).sort()).toEqual(Object.keys(allGen).sort());
64
+ });
65
+
66
+ for (const chain of Object.keys(allMan)) {
67
+ describe(`${chain}`, (): void => {
68
+ // eslint-disable-next-line jest/expect-expect
69
+ it('should have all generated', (): void => {
70
+ const missing = allMan[chain as keyof typeof allMan].filter(([na, sa]) =>
71
+ !allGen[chain as keyof typeof allGen].some(([nb, sb]) =>
72
+ nb === na &&
73
+ sb === sa
74
+ )
75
+ );
76
+
77
+ if (missing.length !== 0) {
78
+ throw new Error(`${chain}:: missing generated apis found, run yarn test:one packages/types-known/src/upgrades/e2e`);
79
+ }
80
+ });
81
+
82
+ // eslint-disable-next-line jest/expect-expect
83
+ it('manual should be correctly ordered', (): void => {
84
+ checkOrder(chain, (allGen as Record<string, ChainUpgradesExpanded>)[chain]);
85
+ });
86
+
87
+ // eslint-disable-next-line jest/expect-expect
88
+ it('generated should be correctly ordered', (): void => {
89
+ checkOrder(chain, (allMan as Record<string, ChainUpgradesRaw>)[chain]);
90
+ });
91
+ });
92
+ }
93
+ });
94
+
95
+ describe('upgrades', (): void => {
96
+ TESTS.forEach(({ genesisHash, network, versions }): void => {
97
+ describe(`${network}`, (): void => {
98
+ const chain = upgrades.find((n) => n.network === network);
99
+
100
+ if (!chain) {
101
+ throw new Error(`Unable to find the entry for ${network}`);
102
+ }
103
+
104
+ it('has a valid genesisHash', (): void => {
105
+ expect(u8aEq(chain.genesisHash, genesisHash)).toBe(true);
106
+ });
107
+
108
+ versions.forEach(([index, [blockNumber, specVersion]]): void => {
109
+ it(`has a valid entry at index ${index}`, (): void => {
110
+ const version = chain.versions[index];
111
+
112
+ expect(version.blockNumber.eqn(blockNumber)).toBe(true);
113
+ expect(version.specVersion.eqn(specVersion)).toBe(true);
114
+ });
115
+ });
116
+ });
117
+ });
118
+ });
@@ -0,0 +1,40 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ChainUpgrades } from '@pezkuwi/types/types';
5
+ import type { HexString } from '@pezkuwi/util/types';
6
+ import type { ChainUpgradesExpanded } from './types.js';
7
+
8
+ import { selectableNetworks } from '@pezkuwi/networks';
9
+ import { BN, hexToU8a } from '@pezkuwi/util';
10
+
11
+ import * as allKnown from './e2e/index.js';
12
+
13
+ // testnets are not available in the networks map
14
+ const NET_EXTRA: Record<string, { genesisHash: HexString[] }> = {
15
+ westend: {
16
+ genesisHash: ['0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e']
17
+ }
18
+ };
19
+
20
+ /** @internal */
21
+ function mapRaw ([network, versions]: [string, ChainUpgradesExpanded]): ChainUpgrades {
22
+ const chain = selectableNetworks.find((n) => n.network === network) || NET_EXTRA[network];
23
+
24
+ if (!chain) {
25
+ throw new Error(`Unable to find info for chain ${network}`);
26
+ }
27
+
28
+ return {
29
+ genesisHash: hexToU8a(chain.genesisHash[0]),
30
+ network,
31
+ versions: versions.map(([blockNumber, specVersion, apis]) => ({
32
+ apis,
33
+ blockNumber: new BN(blockNumber),
34
+ specVersion: new BN(specVersion)
35
+ }))
36
+ };
37
+ }
38
+
39
+ // Type overrides for specific spec types & versions as given in runtimeVersion
40
+ export const upgrades = Object.entries<ChainUpgradesExpanded>(allKnown).map(mapRaw);
@@ -0,0 +1,6 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export { upgrades as kusama } from './kusama.js';
5
+ export { upgrades as polkadot } from './polkadot.js';
6
+ export { upgrades as westend } from './westend.js';
@@ -0,0 +1,26 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ChainUpgradesRaw } from '../types.js';
5
+
6
+ export const upgrades: ChainUpgradesRaw = [
7
+ [0, 1020], [26669, 1021], [38245, 1022], [54248, 1023], [59659, 1024],
8
+ [67651, 1025], [82191, 1027], [83238, 1028], [101503, 1029], [203466, 1030],
9
+ [295787, 1031], [461692, 1032], [504329, 1033], [569327, 1038], [587687, 1039],
10
+ [653183, 1040], [693488, 1042], [901442, 1045], [1375086, 1050], [1445458, 1051],
11
+ [1472960, 1052], [1475648, 1053], [1491596, 1054], [1574408, 1055], [2064961, 1058],
12
+ [2201991, 1062], [2671528, 2005], [2704202, 2007], [2728002, 2008], [2832534, 2011],
13
+ [2962294, 2012], [3240000, 2013], [3274408, 2015], [3323565, 2019], [3534175, 2022],
14
+ [3860281, 2023], [4143129, 2024], [4401242, 2025], [4841367, 2026], [5961600, 2027],
15
+ [6137912, 2028], [6561855, 2029], [7100891, 2030], [7468792, 9010], [7668600, 9030],
16
+ [7812476, 9040], [8010981, 9050], [8073833, 9070], [8555825, 9080], [8945245, 9090],
17
+ [9611377, 9100], [9625129, 9111], [9866422, 9122], [10403784, 9130], [10960765, 9150],
18
+ [11006614, 9151], [11404482, 9160], [11601803, 9170], [12008022, 9180], [12405451, 9190],
19
+ [12665416, 9200], [12909508, 9220], [13109752, 9230], [13555777, 9250], [13727747, 9260],
20
+ [14248044, 9271], [14433840, 9280], [14645900, 9291], [15048375, 9300], [15426015, 9320],
21
+ // we have 9340 via system.setStorage (whitelist.WhitelistedCallDispatched event)
22
+ [15680713, 9340], [15756296, 9350], [15912007, 9360], [16356547, 9370], [17335450, 9381],
23
+ [18062739, 9420], [18625000, 9430], [20465806, 1000000], [21570000, 1001000], [21786291, 1001002],
24
+ [22515962, 1001003], [22790000, 1002000], [23176015, 1002001], [23450253, 1002004], [23565293, 1002005],
25
+ [23780224, 1002006], [24786390, 1003000]
26
+ ];
@@ -0,0 +1,19 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ChainUpgradesRaw } from '../types.js';
5
+
6
+ export const upgrades: ChainUpgradesRaw = [
7
+ [0, 0], [29231, 1], [188836, 5], [199405, 6], [214264, 7],
8
+ [244358, 8], [303079, 9], [314201, 10], [342400, 11], [443963, 12],
9
+ [528470, 13], [687751, 14], [746085, 15], [787923, 16], [799302, 17],
10
+ [1205128, 18], [1603423, 23], [1733218, 24], [2005673, 25], [2436698, 26],
11
+ [3613564, 27], [3899547, 28], [4345767, 29], [4876134, 30], [5661442, 9050],
12
+ [6321619, 9080], [6713249, 9090], [7217907, 9100], [7229126, 9110], [7560558, 9122],
13
+ [8115869, 9140], [8638103, 9151], [9280179, 9170], [9738717, 9180], [10156856, 9190],
14
+ [10458576, 9200], [10655116, 9220], [10879371, 9230], [11328884, 9250], [11532856, 9260],
15
+ [11933818, 9270], [12217535, 9280], [12245277, 9281], [12532644, 9291], [12876189, 9300],
16
+ [13800015, 9340], [14188833, 9360], [14543918, 9370], [15978362, 9420], [16450000, 9430],
17
+ [17840000, 9431], [18407475, 1000001], [19551000, 1001002], [20181758, 1001003],
18
+ [20438530, 1002000], [21169168, 1002004], [21455374, 1002005], [21558004, 1002006], [21800141, 1002007]
19
+ ];
@@ -0,0 +1,27 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ChainUpgradesRaw } from '../types.js';
5
+
6
+ export const upgrades: ChainUpgradesRaw = [
7
+ [214356, 4], [392764, 7], [409740, 8], [809976, 20], [877581, 24],
8
+ [879238, 25], [889472, 26], [902937, 27], [932751, 28], [991142, 29],
9
+ [1030162, 31], [1119657, 32], [1199282, 33], [1342534, 34], [1392263, 35],
10
+ [1431703, 36], [1433369, 37], [1490972, 41], [2087397, 43], [2316688, 44],
11
+ [2549864, 45], [3925782, 46], [3925843, 47], [4207800, 48], [4627944, 49],
12
+ [5124076, 50], [5478664, 900], [5482450, 9000], [5584305, 9010], [5784566, 9030],
13
+ [5879822, 9031], [5896856, 9032], [5897316, 9033], [6117927, 9050], [6210274, 9070],
14
+ [6379314, 9080], [6979141, 9090], [7568453, 9100], [7766394, 9111], [7911691, 9120],
15
+ [7968866, 9121], [7982889, 9122], [8514322, 9130], [9091726, 9140], [9091774, 9150],
16
+ [9406726, 9160], [9921066, 9170], [10007115, 9180], [10480973, 9190], [10578091, 9200],
17
+ [10678509, 9210], [10811001, 9220], [11096116, 9230], [11409279, 9250], [11584820, 9251],
18
+ [11716837, 9260], [11876919, 9261], [11987927, 9270], [12077324, 9271], [12301871, 9280],
19
+ [12604343, 9290], [12841034, 9300], [13128237, 9310], [13272363, 9320], [13483497, 9330],
20
+ [13649433, 9340], [13761100, 9350], [13847400, 9360], [14249200, 9370], [14576855, 9380],
21
+ [14849830, 9390], [15146832, 9400], [15332317, 9401], [15661793, 9420], [16165469, 9430],
22
+ [18293984, 102000], [18293991, 103000], [18451783, 104000], [18679741, 1005000], [19166695, 1006000],
23
+ [19234157, 1006001], [19542944, 1007000], [19621258, 1007001], [19761406, 1008000], [20056997, 1009000],
24
+ [20368318, 1010000], [20649086, 1011000], [21217837, 1011001], [21300429, 1013000], [21460051, 1014000],
25
+ [21925427, 1015000], [22500517, 1016000], [22759684, 1016001], [23056976, 1016002], [23544582, 1017000],
26
+ [24002343, 1017001]
27
+ ];
@@ -0,0 +1,8 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { HexString } from '@pezkuwi/util/types';
5
+
6
+ export type ChainUpgradesRaw = [blockNumber: number, specVersion: number][];
7
+
8
+ export type ChainUpgradesExpanded = [blockNumber: number, specVersion: number, runtimeApis: [apiHash: HexString, apiVersion: number][]][];
package/src/util.ts ADDED
@@ -0,0 +1,128 @@
1
+ // Copyright 2017-2025 @polkadot/types-known authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ExtDef } from '@pezkuwi/types/extrinsic/signedExtensions/types';
5
+ import type { Hash } from '@pezkuwi/types/interfaces';
6
+ import type { ChainUpgradeVersion, CodecHasher, DefinitionRpc, DefinitionRpcSub, DefinitionsCall, OverrideModuleType, OverrideVersionedType, Registry, RegistryTypes } from '@pezkuwi/types/types';
7
+ import type { Text } from '@pezkuwi/types-codec';
8
+ import type { BN } from '@pezkuwi/util';
9
+
10
+ import { bnToBn } from '@pezkuwi/util';
11
+
12
+ import { typesChain } from './chain/index.js';
13
+ import { typesSpec } from './spec/index.js';
14
+ import { upgrades } from './upgrades/index.js';
15
+
16
+ /**
17
+ * @description Perform the callback function using the stringified spec/chain
18
+ * @internal
19
+ * */
20
+ function withNames <T> (chainName: Text | string, specName: Text | string, fn: (c: string, s: string) => T): T {
21
+ return fn(chainName.toString(), specName.toString());
22
+ }
23
+
24
+ /**
25
+ * @descriptionFflatten a VersionedType[] into a Record<string, string>
26
+ * @internal
27
+ * */
28
+ function filterVersions (versions: OverrideVersionedType[] = [], specVersion: number): RegistryTypes {
29
+ return versions
30
+ .filter(({ minmax: [min, max] }) =>
31
+ (min === undefined || min === null || specVersion >= min) &&
32
+ (max === undefined || max === null || specVersion <= max)
33
+ )
34
+ .reduce((result: RegistryTypes, { types }) => ({ ...result, ...types }), {});
35
+ }
36
+
37
+ /**
38
+ * @description Based on the chain and runtimeVersion, get the applicable signed extensions (ready for registration)
39
+ */
40
+ export function getSpecExtensions ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): ExtDef {
41
+ return withNames(chainName, specName, (c, s) => ({
42
+ ...(knownTypes.typesBundle?.spec?.[s]?.signedExtensions ?? {}),
43
+ ...(knownTypes.typesBundle?.chain?.[c]?.signedExtensions ?? {})
44
+ }));
45
+ }
46
+
47
+ /**
48
+ * @description Based on the chain and runtimeVersion, get the applicable types (ready for registration)
49
+ */
50
+ export function getSpecTypes ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string, specVersion: bigint | BN | number): RegistryTypes {
51
+ const _specVersion = bnToBn(specVersion).toNumber();
52
+
53
+ return withNames(chainName, specName, (c, s) => ({
54
+ // The order here is always, based on -
55
+ // - spec then chain
56
+ // - typesBundle takes higher precedence
57
+ // - types is the final catch-all override
58
+ ...filterVersions(typesSpec[s], _specVersion),
59
+ ...filterVersions(typesChain[c], _specVersion),
60
+ ...filterVersions(knownTypes.typesBundle?.spec?.[s]?.types, _specVersion),
61
+ ...filterVersions(knownTypes.typesBundle?.chain?.[c]?.types, _specVersion),
62
+ ...(knownTypes.typesSpec?.[s] ?? {}),
63
+ ...(knownTypes.typesChain?.[c] ?? {}),
64
+ ...(knownTypes.types ?? {})
65
+ }));
66
+ }
67
+
68
+ /**
69
+ * @description Based on the chain or spec, return the hasher used
70
+ */
71
+ export function getSpecHasher ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): CodecHasher | null {
72
+ return withNames(chainName, specName, (c, s) =>
73
+ knownTypes.hasher ||
74
+ knownTypes.typesBundle?.chain?.[c]?.hasher ||
75
+ knownTypes.typesBundle?.spec?.[s]?.hasher ||
76
+ null
77
+ );
78
+ }
79
+
80
+ /**
81
+ * @description Based on the chain and runtimeVersion, get the applicable rpc definitions (ready for registration)
82
+ */
83
+ export function getSpecRpc ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>> {
84
+ return withNames(chainName, specName, (c, s) => ({
85
+ ...(knownTypes.typesBundle?.spec?.[s]?.rpc ?? {}),
86
+ ...(knownTypes.typesBundle?.chain?.[c]?.rpc ?? {})
87
+ }));
88
+ }
89
+
90
+ /**
91
+ * @description Based on the chain and runtimeVersion, get the applicable runtime definitions (ready for registration)
92
+ */
93
+ export function getSpecRuntime ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): DefinitionsCall {
94
+ return withNames(chainName, specName, (c, s) => ({
95
+ ...(knownTypes.typesBundle?.spec?.[s]?.runtime ?? {}),
96
+ ...(knownTypes.typesBundle?.chain?.[c]?.runtime ?? {})
97
+ }));
98
+ }
99
+
100
+ /**
101
+ * @description Based on the chain and runtimeVersion, get the applicable alias definitions (ready for registration)
102
+ */
103
+ export function getSpecAlias ({ knownTypes }: Registry, chainName: Text | string, specName: Text | string): Record<string, OverrideModuleType> {
104
+ return withNames(chainName, specName, (c, s) => ({
105
+ // as per versions, first spec, then chain then finally non-versioned
106
+ ...(knownTypes.typesBundle?.spec?.[s]?.alias ?? {}),
107
+ ...(knownTypes.typesBundle?.chain?.[c]?.alias ?? {}),
108
+ ...(knownTypes.typesAlias ?? {})
109
+ }));
110
+ }
111
+
112
+ /**
113
+ * @description Returns a version record for known chains where upgrades are being tracked
114
+ */
115
+ export function getUpgradeVersion (genesisHash: Hash, blockNumber: BN): [ChainUpgradeVersion | undefined, ChainUpgradeVersion | undefined] {
116
+ const known = upgrades.find((u) => genesisHash.eq(u.genesisHash));
117
+
118
+ return known
119
+ ? [
120
+ known.versions.reduce<ChainUpgradeVersion | undefined>((last, version) => {
121
+ return blockNumber.gt(version.blockNumber)
122
+ ? version
123
+ : last;
124
+ }, undefined),
125
+ known.versions.find((version) => blockNumber.lte(version.blockNumber))
126
+ ]
127
+ : [undefined, undefined];
128
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "baseUrl": "..",
5
+ "outDir": "./build",
6
+ "rootDir": "./src"
7
+ },
8
+ "exclude": [
9
+ "**/*.spec.ts",
10
+ "**/mod.ts"
11
+ ],
12
+ "references": [
13
+ { "path": "../types/tsconfig.build.json" },
14
+ { "path": "../types-codec/tsconfig.build.json" },
15
+ { "path": "../types-create/tsconfig.build.json" }
16
+ ]
17
+ }