diff --git a/package.json b/package.json index 5da97c1..b6b1d35 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,12 @@ "private": true, "license": "Apache-2.0", "scripts": { + "build:deps": "yarn workspace utils build && yarn workspace @arbitrum-monitoring/slack build", + "build": "yarn build:deps && yarn workspaces foreach run build", "retryable-monitor": "yarn workspace retryable-monitor dev", "batch-poster-monitor": "yarn workspace batch-poster-monitor dev", "assertion-monitor": "yarn workspace assertion-monitor dev", - "test": "yarn workspace utils build && vitest" + "test": "yarn build:deps && vitest" }, "devDependencies": { "@types/node": "^20.14.10", diff --git a/packages/assertion-monitor/package.json b/packages/assertion-monitor/package.json index 5c7458c..7370fd2 100644 --- a/packages/assertion-monitor/package.json +++ b/packages/assertion-monitor/package.json @@ -5,6 +5,7 @@ "dependencies": { "@arbitrum/sdk": "^4.0.0", "@types/yargs": "17.0.32", + "@arbitrum-monitoring/slack": "*", "typescript": "^5.4.5", "utils": "*", "viem": "^2.7.9", @@ -17,7 +18,7 @@ }, "scripts": { "lint": "eslint .", - "build": "yarn workspace utils build && rm -rf ./dist && tsc", + "build": "yarn --cwd ../.. build:deps && rm -rf ./dist && tsc", "format": "prettier './**/*.{js,json,md,yml,sol,ts}' --write && yarn run lint --fix", "dev": "yarn build && node ./dist/main.js", "test": "vitest run __test__/*.test.ts", diff --git a/packages/assertion-monitor/reportAssertionMonitorAlertToSlack.ts b/packages/assertion-monitor/reportAssertionMonitorAlertToSlack.ts index a7f18b5..56be031 100644 --- a/packages/assertion-monitor/reportAssertionMonitorAlertToSlack.ts +++ b/packages/assertion-monitor/reportAssertionMonitorAlertToSlack.ts @@ -1,4 +1,4 @@ -import { createSlackPoster } from 'utils' +import { createSlackPoster } from '@arbitrum-monitoring/slack' export const reportAssertionMonitorErrorToSlack = createSlackPoster({ tokenEnvVar: 'ASSERTION_MONITORING_SLACK_TOKEN', diff --git a/packages/batch-poster-monitor/package.json b/packages/batch-poster-monitor/package.json index c7fc766..f24d9a8 100644 --- a/packages/batch-poster-monitor/package.json +++ b/packages/batch-poster-monitor/package.json @@ -4,7 +4,7 @@ "main": "index.ts", "scripts": { "lint": "eslint .", - "build": "yarn workspace utils build && rm -rf ./dist && tsc", + "build": "yarn --cwd ../.. build:deps && rm -rf ./dist && tsc", "format": "prettier './**/*.{js,json,md,yml,sol,ts}' --write && yarn run lint --fix", "dev": "yarn build && node ./dist/index.js", "test": "vitest" @@ -12,6 +12,7 @@ "dependencies": { "@arbitrum/orbit-sdk": "^0.23.5", "abitype": "^1.0.5", + "@arbitrum-monitoring/slack": "*", "typescript": "^5.4.5", "utils": "*", "viem": "1.20.0" diff --git a/packages/batch-poster-monitor/reportBatchPosterAlertToSlack.ts b/packages/batch-poster-monitor/reportBatchPosterAlertToSlack.ts index 52925c1..911db8c 100644 --- a/packages/batch-poster-monitor/reportBatchPosterAlertToSlack.ts +++ b/packages/batch-poster-monitor/reportBatchPosterAlertToSlack.ts @@ -1,4 +1,4 @@ -import { createSlackPoster } from 'utils' +import { createSlackPoster } from '@arbitrum-monitoring/slack' export const reportBatchPosterErrorToSlack = createSlackPoster({ tokenEnvVar: 'BATCH_POSTER_MONITORING_SLACK_TOKEN', diff --git a/packages/retryable-monitor/handlers/slack/postSlackMessage.ts b/packages/retryable-monitor/handlers/slack/postSlackMessage.ts index b29963e..9134f71 100644 --- a/packages/retryable-monitor/handlers/slack/postSlackMessage.ts +++ b/packages/retryable-monitor/handlers/slack/postSlackMessage.ts @@ -1,4 +1,4 @@ -import { createSlackPoster } from 'utils' +import { createSlackPoster } from '@arbitrum-monitoring/slack' export const postSlackMessage = createSlackPoster({ tokenEnvVar: 'RETRYABLE_MONITORING_SLACK_TOKEN', diff --git a/packages/retryable-monitor/package.json b/packages/retryable-monitor/package.json index dccb94b..bcae88e 100644 --- a/packages/retryable-monitor/package.json +++ b/packages/retryable-monitor/package.json @@ -12,12 +12,13 @@ "ethers": "^5.5.4", "graphql": "^16.6.0", "graphql-request": "^6.1.0", + "@arbitrum-monitoring/slack": "*", "utils": "*", "winston": "^3.3.3" }, "scripts": { "lint": "eslint .", - "build": "yarn workspace utils build && rm -rf ./dist && tsc", + "build": "yarn --cwd ../.. build:deps && rm -rf ./dist && tsc", "format": "prettier './**/*.{js,json,md,yml,sol,ts}' --write && yarn run lint --fix", "dev": "yarn build && node ./dist/index.js" } diff --git a/packages/utils/__test__/createSlackPoster.test.ts b/packages/slack/__test__/createSlackPoster.test.ts similarity index 100% rename from packages/utils/__test__/createSlackPoster.test.ts rename to packages/slack/__test__/createSlackPoster.test.ts diff --git a/packages/utils/createSlackPoster.ts b/packages/slack/createSlackPoster.ts similarity index 100% rename from packages/utils/createSlackPoster.ts rename to packages/slack/createSlackPoster.ts diff --git a/packages/utils/githubCIUtils.ts b/packages/slack/githubCIUtils.ts similarity index 100% rename from packages/utils/githubCIUtils.ts rename to packages/slack/githubCIUtils.ts diff --git a/packages/slack/index.ts b/packages/slack/index.ts new file mode 100644 index 0000000..fc6304a --- /dev/null +++ b/packages/slack/index.ts @@ -0,0 +1,3 @@ +export { createSlackPoster } from './createSlackPoster' +export { postSlackMessage } from './postSlackMessage' +export { sanitizeSlackMessage } from './sanitizeSlackMessage' diff --git a/packages/slack/package.json b/packages/slack/package.json new file mode 100644 index 0000000..4933398 --- /dev/null +++ b/packages/slack/package.json @@ -0,0 +1,15 @@ +{ + "name": "@arbitrum-monitoring/slack", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "dependencies": { + "@slack/web-api": "^7.0.4", + "dotenv": "^16.0.3" + }, + "scripts": { + "build": "tsc", + "lint": "eslint .", + "test": "vitest run" + } +} diff --git a/packages/utils/postSlackMessage.ts b/packages/slack/postSlackMessage.ts similarity index 100% rename from packages/utils/postSlackMessage.ts rename to packages/slack/postSlackMessage.ts index c815ce0..9912fea 100644 --- a/packages/utils/postSlackMessage.ts +++ b/packages/slack/postSlackMessage.ts @@ -1,6 +1,6 @@ import { WebClient } from '@slack/web-api' -import { sanitizeSlackMessage } from './sanitizeSlackMessage' import { formatGitHubCIInfo } from './githubCIUtils' +import { sanitizeSlackMessage } from './sanitizeSlackMessage' export const postSlackMessage = ({ slackToken, diff --git a/packages/utils/sanitizeSlackMessage.ts b/packages/slack/sanitizeSlackMessage.ts similarity index 100% rename from packages/utils/sanitizeSlackMessage.ts rename to packages/slack/sanitizeSlackMessage.ts diff --git a/packages/slack/tsconfig.json b/packages/slack/tsconfig.json new file mode 100644 index 0000000..5df745d --- /dev/null +++ b/packages/slack/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["./**/*.ts", "./**/*.d.ts"], + "exclude": ["node_modules", "dist/"] +} diff --git a/packages/utils/vitest.config.ts b/packages/slack/vitest.config.ts similarity index 100% rename from packages/utils/vitest.config.ts rename to packages/slack/vitest.config.ts diff --git a/packages/utils/index.ts b/packages/utils/index.ts index 770d04f..a22c235 100644 --- a/packages/utils/index.ts +++ b/packages/utils/index.ts @@ -1,8 +1,6 @@ export * from './types' export * from './config' export { getExplorerUrlPrefixes } from './getExplorerUrlPrefixes' -export { postSlackMessage } from './postSlackMessage' -export { createSlackPoster } from './createSlackPoster' export { parseAmount } from './amountUtils' export const sleep = (ms: number) => diff --git a/packages/utils/package.json b/packages/utils/package.json index f3869a9..6f7c5a2 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -3,9 +3,7 @@ "version": "1.0.0", "main": "dist/index.js", "types": "dist/index.d.ts", - "dependencies": { - "@slack/web-api": "^7.0.4" - }, + "dependencies": {}, "scripts": { "build": "tsc", "lint": "eslint ." diff --git a/yarn.lock b/yarn.lock index c8b3bc2..dbf3ab0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1913,6 +1913,11 @@ dotenv@^10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dotenv@^16.0.3: + version "16.6.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" + integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== + dotenv@^16.3.1: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f"