Last active
August 10, 2022 16:48
-
-
Save sevazhidkov/2da9b083a8cfc432f36697838b430b1d to your computer and use it in GitHub Desktop.
Incompatible imports
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
createAssociatedTokenAccountInstruction, | |
} from '@solana/spl-token'; | |
import { | |
buildWhirlpoolClient, | |
} from '@orca-so/whirlpools-sdk'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "test-token-import", | |
"version": "1.0.0", | |
"main": "index.js", | |
"license": "MIT", | |
"dependencies": { | |
"@orca-so/whirlpools-sdk": "^0.5.0", | |
"@solana/spl-token": "^0.2.0", | |
"typescript": "^4.7.4" | |
}, | |
"scripts": { | |
"build": "tsc -p tsconfig.json" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
{ | |
"compilerOptions": { | |
"strict": true, | |
"esModuleInterop": true, | |
"skipLibCheck": true, | |
}, | |
"include": ["index.ts"] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
seva@Sevas-MBP test-token-import % yarn run build | |
yarn run v1.22.19 | |
$ tsc -p tsconfig.json | |
index.ts:2:5 - error TS2305: Module '"@solana/spl-token"' has no exported member 'createAssociatedTokenAccountInstruction'. | |
2 createAssociatedTokenAccountInstruction, | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
Found 1 error in index.ts:2 | |
error Command failed with exit code 2. | |
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There is definitely a "createAssociatedTokenAccountInstruction" in this version: | |
seva@Sevas-MBP test-token-import % cat ./node_modules/@solana/spl-token/package.json | |
{ | |
"name": "@solana/spl-token", | |
"version": "0.2.0", | |
// ... | |
} | |
There is no "createAssociatedTokenAccountInstruction" in this version though: | |
seva@Sevas-MBP test-token-import % cat node_modules/@orca-so/common-sdk/node_modules/@solana/spl-token/package.json | |
{ | |
"name": "@solana/spl-token", | |
"version": "0.1.8", | |
// ... | |
} | |
Why does Typescript use the latter? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Let's delete "import { buildWhirlpoolClient } from '@orca-so/whirlpools-sdk';" from index.ts and try to run it | |
seva@Sevas-MBP test-token-import % cat index.ts | |
import { | |
createAssociatedTokenAccountInstruction, | |
} from '@solana/spl-token'; | |
// import { | |
// buildWhirlpoolClient, | |
// } from '@orca-so/whirlpools-sdk'; | |
seva@Sevas-MBP test-token-import % yarn run build | |
yarn run v1.22.19 | |
$ tsc -p tsconfig.json | |
✨ Done in 1.44s. | |
# For some reason, it works! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
seva@Sevas-MBP test-token-import % yarn run build -- --traceResolution | |
yarn run v1.22.19 | |
warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts. | |
$ tsc -p tsconfig.json --traceResolution | |
======== Resolving module '@solana/spl-token' from '/Users/seva/test-token-import/index.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module '@solana/spl-token' from 'node_modules' folder, target file type 'TypeScript'. | |
Found 'package.json' at '/Users/seva/test-token-import/node_modules/@solana/spl-token/package.json'. | |
'package.json' does not have a 'typesVersions' field. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token.d.ts' does not exist. | |
'package.json' does not have a 'typings' field. | |
'package.json' has 'types' field 'lib/types/index.d.ts' that references '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts' exist - use it as a name resolution result. | |
Resolving real path for '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts', result '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. | |
======== Module name '@solana/spl-token' was successfully resolved to '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts' with Package ID '@solana/spl-token/lib/types/[email protected]'. ======== | |
======== Resolving module '@orca-so/whirlpools-sdk' from '/Users/seva/test-token-import/index.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module '@orca-so/whirlpools-sdk' from 'node_modules' folder, target file type 'TypeScript'. | |
Found 'package.json' at '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/package.json'. | |
'package.json' does not have a 'typesVersions' field. | |
File '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk.d.ts' does not exist. | |
'package.json' does not have a 'typings' field. | |
'package.json' has 'types' field 'dist/index.d.ts' that references '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/dist/index.d.ts'. | |
File '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/dist/index.d.ts' exist - use it as a name resolution result. | |
Resolving real path for '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/dist/index.d.ts', result '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/dist/index.d.ts'. | |
======== Module name '@orca-so/whirlpools-sdk' was successfully resolved to '/Users/seva/test-token-import/node_modules/@orca-so/whirlpools-sdk/dist/index.d.ts' with Package ID '@orca-so/whirlpools-sdk/dist/[email protected]'. ======== | |
======== Resolving module './instructions/index' from '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module as file / folder, candidate module location '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/instructions/index', target file type 'TypeScript'. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/instructions/index.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/instructions/index.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/instructions/index.d.ts' exist - use it as a name resolution result. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/package.json' exists according to earlier cached lookups. | |
======== Module name './instructions/index' was successfully resolved to '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/instructions/index.d.ts' with Package ID '@solana/spl-token/lib/types/instructions/[email protected]'. ======== | |
======== Resolving module './state/index' from '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module as file / folder, candidate module location '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/state/index', target file type 'TypeScript'. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/state/index.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/state/index.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/state/index.d.ts' exist - use it as a name resolution result. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/package.json' exists according to earlier cached lookups. | |
======== Module name './state/index' was successfully resolved to '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/state/index.d.ts' with Package ID '@solana/spl-token/lib/types/state/[email protected]'. ======== | |
======== Resolving module './actions/index' from '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module as file / folder, candidate module location '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/actions/index', target file type 'TypeScript'. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/actions/index.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/actions/index.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/actions/index.d.ts' exist - use it as a name resolution result. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/package.json' exists according to earlier cached lookups. | |
======== Module name './actions/index' was successfully resolved to '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/actions/index.d.ts' with Package ID '@solana/spl-token/lib/types/actions/[email protected]'. ======== | |
======== Resolving module './constants' from '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/index.d.ts'. ======== | |
Module resolution kind is not specified, using 'NodeJs'. | |
Loading module as file / folder, candidate module location '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/constants', target file type 'TypeScript'. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/constants.ts' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/constants.tsx' does not exist. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/constants.d.ts' exist - use it as a name resolution result. | |
File '/Users/seva/test-token-import/node_modules/@solana/spl-token/package.json' exists according to earlier cached lookups. | |
======== Module name './constants' was successfully resolved to '/Users/seva/test-token-import/node_modules/@solana/spl-token/lib/types/constants.d.ts' with Package ID '@solana/spl-token/lib/types/[email protected]'. ======== | |
// ... and a lot more stuff related to octa |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment