@metaplex-foundation/kinobi 0.17.7 → 0.17.8

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.
@@ -5,15 +5,14 @@ const DEFAULT_MODULE_MAP = {
5
5
  // External.
6
6
  solanaAccounts: '@solana/accounts',
7
7
  solanaAddresses: '@solana/addresses',
8
- solanaCodecsCore: '@solana/codecs-core',
9
- solanaCodecsNumbers: '@solana/codecs-numbers',
10
- solanaCodecsStrings: '@solana/codecs-strings',
11
- solanaCodecsDataStructures: '@solana/codecs-data-structures',
8
+ solanaCodecsCore: '@solana/codecs',
9
+ solanaCodecsNumbers: '@solana/codecs',
10
+ solanaCodecsStrings: '@solana/codecs',
11
+ solanaCodecsDataStructures: '@solana/codecs',
12
12
  solanaInstructions: '@solana/instructions',
13
13
  solanaPrograms: '@solana/programs',
14
- solanaOptions: '@solana/options',
14
+ solanaOptions: '@solana/codecs',
15
15
  solanaSigners: '@solana/signers',
16
- solanaTransactions: '@solana/transactions',
17
16
  // Internal.
18
17
  types: '../types',
19
18
  errors: '../errors',
@@ -84,14 +83,28 @@ class ImportMap {
84
83
  isEmpty() {
85
84
  return this._imports.size === 0;
86
85
  }
87
- toString(dependencies = {}) {
88
- const dependencyMap = { ...DEFAULT_MODULE_MAP, ...dependencies };
89
- const importStatements = [...this._imports.entries()]
90
- .map(([module, imports]) => {
86
+ resolve(dependencies = {}) {
87
+ // Resolve aliases.
88
+ const aliasedMap = new Map([...this._imports.entries()].map(([module, imports]) => {
91
89
  var _a;
92
- const mappedModule = (_a = dependencyMap[module]) !== null && _a !== void 0 ? _a : module;
93
- return [mappedModule, module, imports];
94
- })
90
+ const aliasMap = (_a = this._aliases.get(module)) !== null && _a !== void 0 ? _a : {};
91
+ const joinedImports = [...imports].map((i) => aliasMap[i] ? `${i} as ${aliasMap[i]}` : i);
92
+ return [module, new Set(joinedImports)];
93
+ }));
94
+ // Resolve dependency mappings.
95
+ const dependencyMap = { ...DEFAULT_MODULE_MAP, ...dependencies };
96
+ const resolvedMap = new Map();
97
+ aliasedMap.forEach((imports, module) => {
98
+ var _a, _b;
99
+ const resolvedModule = (_a = dependencyMap[module]) !== null && _a !== void 0 ? _a : module;
100
+ const currentImports = (_b = resolvedMap.get(resolvedModule)) !== null && _b !== void 0 ? _b : new Set();
101
+ imports.forEach((i) => currentImports.add(i));
102
+ resolvedMap.set(resolvedModule, currentImports);
103
+ });
104
+ return resolvedMap;
105
+ }
106
+ toString(dependencies = {}) {
107
+ return [...this.resolve(dependencies).entries()]
95
108
  .sort(([a], [b]) => {
96
109
  const aIsRelative = a.startsWith('.');
97
110
  const bIsRelative = b.startsWith('.');
@@ -101,16 +114,11 @@ class ImportMap {
101
114
  return -1;
102
115
  return a.localeCompare(b);
103
116
  })
104
- .map(([mappedModule, module, imports]) => {
105
- var _a;
106
- const aliasMap = (_a = this._aliases.get(module)) !== null && _a !== void 0 ? _a : {};
107
- const joinedImports = [...imports]
108
- .sort()
109
- .map((i) => (aliasMap[i] ? `${i} as ${aliasMap[i]}` : i))
110
- .join(', ');
111
- return `import { ${joinedImports} } from '${mappedModule}';`;
112
- });
113
- return importStatements.join('\n');
117
+ .map(([module, imports]) => {
118
+ const joinedImports = [...imports].sort().join(', ');
119
+ return `import { ${joinedImports} } from '${module}';`;
120
+ })
121
+ .join('\n');
114
122
  }
115
123
  }
116
124
  exports.ImportMap = ImportMap;
@@ -1 +1 @@
1
- {"version":3,"file":"ImportMap.js","sourceRoot":"","sources":["../../../../src/renderers/js-experimental/ImportMap.ts"],"names":[],"mappings":";;;AAIA,MAAM,kBAAkB,GAA2B;IACjD,YAAY;IACZ,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,mBAAmB;IACpC,gBAAgB,EAAE,qBAAqB;IACvC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,wBAAwB;IAC7C,0BAA0B,EAAE,gCAAgC;IAC5D,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,iBAAiB;IAChC,aAAa,EAAE,iBAAiB;IAChC,kBAAkB,EAAE,sBAAsB;IAE1C,YAAY;IACZ,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,cAAc;IACtB,iBAAiB,EAAE,aAAa;IAChC,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,aAAa;IAChC,eAAe,EAAE,WAAW;IAC5B,cAAc,EAAE,UAAU;IAC1B,qBAAqB,EAAE,iBAAiB;CACzC,CAAC;AAEF,MAAa,SAAS;IAAtB;QACqB,aAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;QAEnD,aAAQ,GACzB,IAAI,GAAG,EAAE,CAAC;IA0Fd,CAAC;IAxFC,GAAG,CAAC,MAAkB,EAAE,OAAwC;;QAC9D,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAClD,CAAC;QACF,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;QAC9D,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CACJ,MAAkB,EAClB,OAAwC;;QAExC,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAClD,CAAC;QACF,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;QAC9D,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,GAAG,MAAgC;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oBAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAAsB;QACtC,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAAkB,EAAE,IAAY,EAAE,KAAa;;QACtD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;QACvD,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,eAA2C,EAAE;QACpD,MAAM,aAAa,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;QACjE,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;;YACzB,MAAM,YAAY,GAAW,MAAA,aAAa,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAC;YAC7D,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,WAAW,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,IAAI,WAAW;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;;YACvC,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC;iBAC/B,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,YAAY,aAAa,YAAY,YAAY,IAAI,CAAC;QAC/D,CAAC,CAAC,CAAC;QACL,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AA9FD,8BA8FC"}
1
+ {"version":3,"file":"ImportMap.js","sourceRoot":"","sources":["../../../../src/renderers/js-experimental/ImportMap.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,6 @@ export declare class ImportMap {
10
10
  mergeWithManifest(manifest: TypeManifest): ImportMap;
11
11
  addAlias(module: ImportFrom, name: string, alias: string): ImportMap;
12
12
  isEmpty(): boolean;
13
+ resolve(dependencies?: Record<ImportFrom, string>): Map<ImportFrom, Set<string>>;
13
14
  toString(dependencies?: Record<ImportFrom, string>): string;
14
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaplex-foundation/kinobi",
3
- "version": "0.17.7",
3
+ "version": "0.17.8",
4
4
  "description": "Generate powerful clients for your Solana programs",
5
5
  "main": "dist/cjs/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -6,15 +6,14 @@ const DEFAULT_MODULE_MAP: Record<string, string> = {
6
6
  // External.
7
7
  solanaAccounts: '@solana/accounts',
8
8
  solanaAddresses: '@solana/addresses',
9
- solanaCodecsCore: '@solana/codecs-core',
10
- solanaCodecsNumbers: '@solana/codecs-numbers',
11
- solanaCodecsStrings: '@solana/codecs-strings',
12
- solanaCodecsDataStructures: '@solana/codecs-data-structures',
9
+ solanaCodecsCore: '@solana/codecs',
10
+ solanaCodecsNumbers: '@solana/codecs',
11
+ solanaCodecsStrings: '@solana/codecs',
12
+ solanaCodecsDataStructures: '@solana/codecs',
13
13
  solanaInstructions: '@solana/instructions',
14
14
  solanaPrograms: '@solana/programs',
15
- solanaOptions: '@solana/options',
15
+ solanaOptions: '@solana/codecs',
16
16
  solanaSigners: '@solana/signers',
17
- solanaTransactions: '@solana/transactions',
18
17
 
19
18
  // Internal.
20
19
  types: '../types',
@@ -100,13 +99,35 @@ export class ImportMap {
100
99
  return this._imports.size === 0;
101
100
  }
102
101
 
103
- toString(dependencies: Record<ImportFrom, string> = {}): string {
104
- const dependencyMap = { ...DEFAULT_MODULE_MAP, ...dependencies };
105
- const importStatements = [...this._imports.entries()]
106
- .map(([module, imports]) => {
107
- const mappedModule: string = dependencyMap[module] ?? module;
108
- return [mappedModule, module, imports] as const;
102
+ resolve(
103
+ dependencies: Record<ImportFrom, string> = {}
104
+ ): Map<ImportFrom, Set<string>> {
105
+ // Resolve aliases.
106
+ const aliasedMap = new Map<ImportFrom, Set<string>>(
107
+ [...this._imports.entries()].map(([module, imports]) => {
108
+ const aliasMap = this._aliases.get(module) ?? {};
109
+ const joinedImports = [...imports].map((i) =>
110
+ aliasMap[i] ? `${i} as ${aliasMap[i]}` : i
111
+ );
112
+ return [module, new Set(joinedImports)];
109
113
  })
114
+ );
115
+
116
+ // Resolve dependency mappings.
117
+ const dependencyMap = { ...DEFAULT_MODULE_MAP, ...dependencies };
118
+ const resolvedMap = new Map<ImportFrom, Set<string>>();
119
+ aliasedMap.forEach((imports, module) => {
120
+ const resolvedModule: string = dependencyMap[module] ?? module;
121
+ const currentImports = resolvedMap.get(resolvedModule) ?? new Set();
122
+ imports.forEach((i) => currentImports.add(i));
123
+ resolvedMap.set(resolvedModule, currentImports);
124
+ });
125
+
126
+ return resolvedMap;
127
+ }
128
+
129
+ toString(dependencies: Record<ImportFrom, string> = {}): string {
130
+ return [...this.resolve(dependencies).entries()]
110
131
  .sort(([a], [b]) => {
111
132
  const aIsRelative = a.startsWith('.');
112
133
  const bIsRelative = b.startsWith('.');
@@ -114,14 +135,10 @@ export class ImportMap {
114
135
  if (!aIsRelative && bIsRelative) return -1;
115
136
  return a.localeCompare(b);
116
137
  })
117
- .map(([mappedModule, module, imports]) => {
118
- const aliasMap = this._aliases.get(module) ?? {};
119
- const joinedImports = [...imports]
120
- .sort()
121
- .map((i) => (aliasMap[i] ? `${i} as ${aliasMap[i]}` : i))
122
- .join(', ');
123
- return `import { ${joinedImports} } from '${mappedModule}';`;
124
- });
125
- return importStatements.join('\n');
138
+ .map(([module, imports]) => {
139
+ const joinedImports = [...imports].sort().join(', ');
140
+ return `import { ${joinedImports} } from '${module}';`;
141
+ })
142
+ .join('\n');
126
143
  }
127
144
  }