diff --git a/modules/sdk-coin-sol/package.json b/modules/sdk-coin-sol/package.json index fbd2fb9a65..673f7e0fb5 100644 --- a/modules/sdk-coin-sol/package.json +++ b/modules/sdk-coin-sol/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-sol", "version": "7.12.0", "description": "BitGo SDK coin library for Sol", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "test": "npm run coverage", @@ -60,6 +76,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-sol/tsconfig.esm.json b/modules/sdk-coin-sol/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-sol/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-sol/tsconfig.json b/modules/sdk-coin-sol/tsconfig.json index aa8f5a7e66..373da81833 100644 --- a/modules/sdk-coin-sol/tsconfig.json +++ b/modules/sdk-coin-sol/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/webpack/bitgojs.config.js b/webpack/bitgojs.config.js index cafdef7b5b..ac297d1313 100644 --- a/webpack/bitgojs.config.js +++ b/webpack/bitgojs.config.js @@ -20,6 +20,7 @@ module.exports = { // third-party packages like @solana/spl-token and @bufbuild/protobuf have broken ESM builds. '@bitgo/wasm-utxo': path.resolve('../../node_modules/@bitgo/wasm-utxo/dist/esm/js/index.js'), '@bitgo/utxo-ord': path.resolve('../utxo-ord/dist/esm/index.js'), + '@bitgo/sdk-coin-sol': path.resolve('../sdk-coin-sol/dist/esm/index.js'), }, fallback: { constants: false,