Skip to content

Commit 31b0afe

Browse files
committed
feat(v4-sdk): separate esm / cjs builds
1 parent a6873ac commit 31b0afe

9 files changed

+93
-36
lines changed

sdks/v4-sdk/.eslintrc.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"parserOptions": {
4+
"ecmaVersion": 2018,
5+
"sourceType": "module"
6+
},
7+
"extends": [
8+
"prettier",
9+
"prettier/@typescript-eslint"
10+
],
11+
"ignorePatterns": ["dist/**"]
12+
}

sdks/v4-sdk/jest.config.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2+
module.exports = {
3+
preset: 'ts-jest',
4+
testEnvironment: 'node',
5+
rootDir: 'src',
6+
globals: {
7+
'ts-jest': {
8+
tsconfig: 'tsconfig.base.json',
9+
},
10+
},
11+
}

sdks/v4-sdk/package.json

+24-10
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,32 @@
77
"ethereum"
88
],
99
"license": "MIT",
10-
"main": "dist/index.js",
11-
"typings": "dist/index.d.ts",
12-
"module": "dist/v4-sdk.esm.js",
10+
"main": "./dist/cjs/src/index.js",
11+
"module": "./dist/esm/src/index.js",
12+
"types": "./dist/types/src/index.d.ts",
1313
"files": [
1414
"dist"
1515
],
1616
"engines": {
1717
"node": ">=14"
1818
},
1919
"scripts": {
20-
"build": "tsdx build",
21-
"lint": "tsdx lint src",
22-
"release": "semantic-release",
23-
"start": "tsdx watch",
24-
"test": "tsdx test"
20+
"clean": "rm -rf dist",
21+
"build": "yarn clean && yarn build:cjs && yarn build:esm && yarn build:types",
22+
"build:cjs": "tsc -p tsconfig.cjs.json",
23+
"build:esm": "tsc -p tsconfig.esm.json",
24+
"build:types": "tsc -p tsconfig.types.json",
25+
"lint": "eslint src --ext .ts",
26+
"test": "jest"
2527
},
28+
"exports": {
29+
".": {
30+
"types": "./dist/types/src/index.d.ts",
31+
"import": "./dist/esm/src/index.js",
32+
"require": "./dist/cjs/src/index.js"
33+
}
34+
},
35+
"sideEffects": false,
2636
"dependencies": {
2737
"@ethersproject/solidity": "^5.0.9",
2838
"@uniswap/sdk-core": "^6.0.0",
@@ -37,10 +47,14 @@
3747
"@types/node-fetch": "^2.6.2",
3848
"chai": "^4.3.6",
3949
"dotenv": "^16.0.3",
40-
"eslint-plugin-prettier": "^3.4.1",
50+
"eslint": "^7.8.0",
51+
"eslint-config-prettier": "^6.11.0",
52+
"eslint-plugin-eslint-comments": "^3.2.0",
53+
"eslint-plugin-functional": "^3.0.2",
54+
"eslint-plugin-import": "^2.22.0",
55+
"jest": "25.5.0",
4156
"prettier": "^2.4.1",
4257
"ts-node": "^10.9.1",
43-
"tsdx": "^0.14.1",
4458
"tslib": "^2.3.0",
4559
"typedoc": "^0.21.2",
4660
"typescript": "^4.3.3"

sdks/v4-sdk/tsconfig.base.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"include": ["src"],
3+
"compilerOptions": {
4+
"rootDir": ".",
5+
"baseUrl": ".",
6+
"target": "es2020",
7+
"module": "esnext",
8+
"importHelpers": true,
9+
"declaration": true,
10+
"sourceMap": true,
11+
"strict": true,
12+
"moduleResolution": "node",
13+
"resolveJsonModule": true,
14+
"esModuleInterop": true,
15+
"skipLibCheck": true,
16+
"isolatedModules": true
17+
}
18+
}

sdks/v4-sdk/tsconfig.cjs.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"module": "commonjs",
5+
"outDir": "dist/cjs"
6+
}
7+
}

sdks/v4-sdk/tsconfig.esm.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"module": "esnext",
5+
"outDir": "dist/esm"
6+
}
7+
}

sdks/v4-sdk/tsconfig.json

-24
This file was deleted.

sdks/v4-sdk/tsconfig.types.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"declaration": true,
5+
"emitDeclarationOnly": true,
6+
"outDir": "dist/types"
7+
}
8+
}

yarn.lock

+6-2
Original file line numberDiff line numberDiff line change
@@ -4553,12 +4553,16 @@ __metadata:
45534553
"@uniswap/v3-sdk": 3.19.0
45544554
chai: ^4.3.6
45554555
dotenv: ^16.0.3
4556-
eslint-plugin-prettier: ^3.4.1
4556+
eslint: ^7.8.0
4557+
eslint-config-prettier: ^6.11.0
4558+
eslint-plugin-eslint-comments: ^3.2.0
4559+
eslint-plugin-functional: ^3.0.2
4560+
eslint-plugin-import: ^2.22.0
4561+
jest: 25.5.0
45574562
prettier: ^2.4.1
45584563
tiny-invariant: ^1.1.0
45594564
tiny-warning: ^1.0.3
45604565
ts-node: ^10.9.1
4561-
tsdx: ^0.14.1
45624566
tslib: ^2.3.0
45634567
typedoc: ^0.21.2
45644568
typescript: ^4.3.3

0 commit comments

Comments
 (0)