Skip to content

Commit 5cddd98

Browse files
committed
Restructure project as monorepo with workspace support
- Move main package to packages/botkit/ - Reorganize examples with individual deno.json configs - Convert root deno.json to workspace configuration - Update pnpm workspace and dependency management - Add shared catalogs for common dependencies - Adjust version check script paths
1 parent e95bf3e commit 5cddd98

41 files changed

Lines changed: 169 additions & 130 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/main.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
token: ${{ secrets.CODECOV_TOKEN }}
4141
files: coverage.lcov
4242
- run: pnpm install
43-
- run: pnpm test
43+
- run: pnpm run -r test
4444
- run: deno task check
4545

4646
publish:
@@ -68,14 +68,14 @@ jobs:
6868
--arg build "$GITHUB_RUN_NUMBER" \
6969
--arg commit "${GITHUB_SHA::8}" \
7070
'.version = .version + "-dev." + $build + "+" + $commit' \
71-
deno.json > deno.json.tmp
72-
mv deno.json.tmp deno.json
71+
packages/botkit/deno.json > deno.json.tmp
72+
mv deno.json.tmp packages/botkit/deno.json
7373
jq \
7474
--arg build "$GITHUB_RUN_NUMBER" \
7575
--arg commit "${GITHUB_SHA::8}" \
7676
'.version = .version + "-dev." + $build + "+" + $commit' \
77-
package.json > package.json.tmp
78-
mv package.json.tmp package.json
77+
packages/botkit/package.json > package.json.tmp
78+
mv package.json.tmp packages/botkit/package.json
7979
- if: github.ref_type == 'tag'
8080
run: |
8181
set -euo pipefail

deno.json

Lines changed: 9 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,34 @@
11
{
2-
"name": "@fedify/botkit",
3-
"version": "0.3.0",
4-
"license": "AGPL-3.0-only",
2+
"workspace": [
3+
"packages/*",
4+
"examples/*"
5+
],
56
"unstable": [
67
"kv",
78
"temporal"
89
],
9-
"exports": {
10-
".": "./src/mod.ts",
11-
"./bot": "./src/bot.ts",
12-
"./emoji": "./src/emoji.ts",
13-
"./events": "./src/events.ts",
14-
"./follow": "./src/follow.ts",
15-
"./message": "./src/message.ts",
16-
"./poll": "./src/poll.ts",
17-
"./reaction": "./src/reaction.ts",
18-
"./repository": "./src/repository.ts",
19-
"./session": "./src/session.ts",
20-
"./text": "./src/text.ts"
21-
},
2210
"imports": {
2311
"@fedify/fedify": "jsr:@fedify/fedify@1.8.1-dev.1262+8e4bd2e7",
24-
"@fedify/markdown-it-hashtag": "jsr:@fedify/markdown-it-hashtag@^0.3.0",
25-
"@fedify/markdown-it-mention": "jsr:@fedify/markdown-it-mention@^0.3.0",
26-
"@logtape/logtape": "jsr:@logtape/logtape@^1.0.0",
27-
"@phensley/language-tag": "npm:@phensley/language-tag@^1.12.2",
2812
"hono": "jsr:@hono/hono@^4.8.2",
29-
"html-entities": "npm:html-entities@^2.6.0",
30-
"markdown-it": "npm:markdown-it@^14.1.0",
31-
"mime-db": "npm:mime-db@^1.54.0",
32-
"tsdown": "npm:tsdown@^0.12.8",
33-
"uuid": "npm:uuid@^11.1.0",
34-
"x-forwarded-fetch": "jsr:@hongminhee/x-forwarded-fetch@^0.2.0",
35-
"xss": "npm:xss@^1.0.15"
13+
"x-forwarded-fetch": "jsr:@hongminhee/x-forwarded-fetch@^0.2.0"
3614
},
3715
"nodeModulesDir": "none",
3816
"exclude": [
3917
".github",
40-
".vscode",
41-
"dist",
4218
"docs",
43-
"junit.xml",
44-
"src/css"
19+
"dist"
4520
],
4621
"fmt": {
4722
"exclude": [
4823
"*.md",
4924
"*.yaml",
50-
"*.yml",
51-
"src/static/*.ts"
25+
"*.yml"
5226
]
5327
},
5428
"tasks": {
55-
"check": "deno check src/ && deno lint && deno fmt --check && deno publish --dry-run --allow-dirty && deno run scripts/check_versions.ts",
29+
"check": "deno check && deno lint && deno fmt --check && deno publish --dry-run --allow-dirty && deno run scripts/check_versions.ts",
5630
"test": "deno test --allow-env=NODE_V8_COVERAGE,JEST_WORKER_ID --allow-net=hollo.social --parallel",
57-
"test:node": "pnpm install && pnpm test",
31+
"test:node": "pnpm install && pnpm run -r test",
5832
"test-all": {
5933
"dependencies": [
6034
"check",

deno.lock

Lines changed: 34 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/greet/deno.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"tasks": {
3+
"dev": "deno serve --allow-net --allow-env --watch greet.ts",
4+
"prod": "deno serve --allow-net --allow-env greet.ts"
5+
}
6+
}

examples/otp/deno.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"tasks": {
3+
"dev": "deno serve --allow-net --allow-env --watch otp.tsx",
4+
"prod": "deno serve --allow-net --allow-env otp.tsx"
5+
}
6+
}
File renamed without changes.
File renamed without changes.

packages/botkit/deno.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"name": "@fedify/botkit",
3+
"version": "0.3.0",
4+
"license": "AGPL-3.0-only",
5+
"exports": {
6+
".": "./src/mod.ts",
7+
"./bot": "./src/bot.ts",
8+
"./emoji": "./src/emoji.ts",
9+
"./events": "./src/events.ts",
10+
"./follow": "./src/follow.ts",
11+
"./message": "./src/message.ts",
12+
"./poll": "./src/poll.ts",
13+
"./reaction": "./src/reaction.ts",
14+
"./repository": "./src/repository.ts",
15+
"./session": "./src/session.ts",
16+
"./text": "./src/text.ts"
17+
},
18+
"imports": {
19+
"@fedify/markdown-it-hashtag": "jsr:@fedify/markdown-it-hashtag@^0.3.0",
20+
"@fedify/markdown-it-mention": "jsr:@fedify/markdown-it-mention@^0.3.0",
21+
"@logtape/logtape": "jsr:@logtape/logtape@^1.0.0",
22+
"@phensley/language-tag": "npm:@phensley/language-tag@^1.12.2",
23+
"html-entities": "npm:html-entities@^2.6.0",
24+
"markdown-it": "npm:markdown-it@^14.1.0",
25+
"mime-db": "npm:mime-db@^1.54.0",
26+
"tsdown": "npm:tsdown@^0.12.8",
27+
"uuid": "npm:uuid@^11.1.0",
28+
"xss": "npm:xss@^1.0.15"
29+
},
30+
"exclude": [
31+
"dist",
32+
"junit.xml",
33+
"src/css"
34+
],
35+
"fmt": {
36+
"exclude": [
37+
"*.md",
38+
"*.yaml",
39+
"*.yml",
40+
"src/static/*.ts"
41+
]
42+
},
43+
"tasks": {
44+
"test": "deno test --allow-env=NODE_V8_COVERAGE,JEST_WORKER_ID --allow-net=hollo.social --parallel",
45+
"test:node": "pnpm install && pnpm test",
46+
"test-all": {
47+
"dependencies": [
48+
"check",
49+
"test",
50+
"test:node"
51+
]
52+
},
53+
"coverage": "deno task test --coverage --clean && deno coverage --html"
54+
}
55+
}

package.json renamed to packages/botkit/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,12 @@
134134
"@js-temporal/polyfill": "^0.5.1",
135135
"@logtape/logtape": "^1.0.0",
136136
"@phensley/language-tag": "^1.12.2",
137-
"hono": "^4.8.2",
137+
"hono": "catalog:",
138138
"html-entities": "^2.6.0",
139139
"markdown-it": "^14.1.0",
140140
"mime-db": "^1.54.0",
141141
"uuid": "^11.1.0",
142-
"x-forwarded-fetch": "^0.2.0",
142+
"x-forwarded-fetch": "catalog:",
143143
"xss": "^1.0.15"
144144
},
145145
"devDependencies": {

0 commit comments

Comments
 (0)