diff --git a/.gitignore b/.gitignore index 1f25dd4ed1..926df582da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.turbo/ +build/ dist/ node_modules/ .env diff --git a/package-lock.json b/package-lock.json index 6caf43da0a..823a38ca7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,6 +43,7 @@ "ts-mocha": "^10.0.0", "ts-node": "^10.9.1", "tsd": "^0.29.0", + "turbo": "^1.11.2", "typedoc": "^0.24.8", "typescript": "^5.1.1" } @@ -8939,6 +8940,101 @@ "fsevents": "~2.3.3" } }, + "node_modules/turbo": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.11.2.tgz", + "integrity": "sha512-jPC7LVQJzebs5gWf8FmEvsvXGNyKbN+O9qpvv98xpNaM59aS0/Irhd0H0KbcqnXfsz7ETlzOC3R+xFWthC4Z8A==", + "dev": true, + "bin": { + "turbo": "bin/turbo" + }, + "optionalDependencies": { + "turbo-darwin-64": "1.11.2", + "turbo-darwin-arm64": "1.11.2", + "turbo-linux-64": "1.11.2", + "turbo-linux-arm64": "1.11.2", + "turbo-windows-64": "1.11.2", + "turbo-windows-arm64": "1.11.2" + } + }, + "node_modules/turbo-darwin-64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.11.2.tgz", + "integrity": "sha512-toFmRG/adriZY3hOps7nYCfqHAS+Ci6xqgX3fbo82kkLpC6OBzcXnleSwuPqjHVAaRNhVoB83L5njcE9Qwi2og==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/turbo-darwin-arm64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.11.2.tgz", + "integrity": "sha512-FCsEDZ8BUSFYEOSC3rrARQrj7x2VOrmVcfrMUIhexTxproRh4QyMxLfr6LALk4ymx6jbDCxWa6Szal8ckldFbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/turbo-linux-64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.11.2.tgz", + "integrity": "sha512-Vzda/o/QyEske5CxLf0wcu7UUS+7zB90GgHZV4tyN+WZtoouTvbwuvZ3V6b5Wgd3OJ/JwWR0CXDK7Sf4VEMr7A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.11.2.tgz", + "integrity": "sha512-bRLwovQRz0yxDZrM4tQEAYV0fBHEaTzUF0JZ8RG1UmZt/CqtpnUrJpYb1VK8hj1z46z9YehARpYCwQ2K0qU4yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.11.2.tgz", + "integrity": "sha512-LgTWqkHAKgyVuLYcEPxZVGPInTjjeCnN5KQMdJ4uQZ+xMDROvMFS2rM93iQl4ieDJgidwHCxxCxaU9u8c3d/Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.11.2.tgz", + "integrity": "sha512-829aVBU7IX0c/B4G7g1VI8KniAGutHhIupkYMgF6xPkYVev2G3MYe6DMS/vsLt9GGM9ulDtdWxWrH5P2ngK8IQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/tweetnacl": { "version": "1.0.3", "license": "Unlicense" diff --git a/package.json b/package.json index be23d91735..45deef3f73 100644 --- a/package.json +++ b/package.json @@ -19,19 +19,20 @@ "ts-mocha": "^10.0.0", "ts-node": "^10.9.1", "tsd": "^0.29.0", + "turbo": "^1.11.2", "typedoc": "^0.24.8", "typescript": "^5.1.1" }, "scripts": { "lint": "npm run lint --workspaces --if-present", - "build": "npm run build --workspaces --if-present", - "rebuild": "npm run rebuild --workspaces --if-present", + "build": "npx turbo build", + "rebuild": "npx turbo build --force", + "test": "NETWORK=Mainnet npx turbo test", "compile": "npm run compile --workspaces --if-present", "coverage": "npm run coverage --workspaces --if-present", "clean": "npm run clean --workspaces --if-present", "prettier": "npm run prettier --workspaces --if-present", "test:tilt": "jest --verbose --config ./jest.config.ts --roots ./__tests__/tilt", - "test": "NETWORK=Mainnet npm run test --workspaces --if-present", "docs": "NODE_OPTIONS=--max_old_space_size=8192 typedoc --options typedoc.json", "sync": "tsx syncVersion.ts && npm install && npm run build", "publish": "npm publish --access public --tag $TAG --workspace core --workspace connect --workspace platforms --workspace platforms/evm/protocols --workspace platforms/solana/protocols --workspace platforms/cosmwasm/protocols --workspace platforms/algorand/protocols", @@ -65,4 +66,4 @@ "platforms/aptos/protocols/core", "platforms/aptos/protocols/tokenBridge" ] -} \ No newline at end of file +} diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000000..5b7642082d --- /dev/null +++ b/turbo.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://turbo.build/schema.json", + "pipeline": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "dependsOn": ["build"], + "inputs": ["src/**", "__test__/**/*.ts"] + + }, + "lint": {}, + "dev": { "cache": false, "persistent": true } + } +}