fix: add explicit module declaration to type definitions (#16219)

This commit is contained in:
Justin Starry
2021-03-30 20:16:31 +08:00
committed by GitHub
parent 54cb16d99b
commit c959c5daf7
12 changed files with 74 additions and 390 deletions

View File

@ -1,16 +0,0 @@
set -ex
# Generate flowdef
npx flowgen lib/types/index.d.ts -o module.flow.js
# Remove trailing export
sed -i '/declare export {/{:a;N;/}/!ba};//g' module.flow.js
# Change all declarations to exports
sed -i 's/declare/declare export/g' module.flow.js
# Prepend declare module line
sed -i '7s;^;declare module "@solana/web3.js" {\n;' module.flow.js
# Append closing brace for module declaration
echo '}' >> module.flow.js

19
web3.js/scripts/typegen.sh Executable file
View File

@ -0,0 +1,19 @@
set -e
# Generate typescript declarations
npx tsc -p tsconfig.d.json -d
# Flatten typescript declarations
npx rollup -c rollup.config.types.js
# Replace export with closing brace for module declaration
sed -i '$s/export {.*};/}/' lib/index.d.ts
# Replace declare's with export's
sed -i 's/declare/export/g' lib/index.d.ts
# Prepend declare module line
sed -i '2s;^;declare module "@solana/web3.js" {\n;' lib/index.d.ts
# Run prettier
npx prettier --write lib/index.d.ts