-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathpackage.json
More file actions
152 lines (152 loc) · 7.55 KB
/
package.json
File metadata and controls
152 lines (152 loc) · 7.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{
"name": "doughnut",
"version": "1.0.0",
"main": "index.js",
"repository": "https://github.com/nerds-odd-e/doughnut.git",
"author": "Terry Yin <terry.yinzhe@gmail.com>",
"license": "MIT",
"engines": {
"node": ">=24.13",
"pnpm": ">=10.32.1"
},
"scripts": {
"preinstall": "npx only-allow pnpm",
"postinstall": "syncpack fix",
"start:mb": "scripts/start_mb.sh",
"mcp-server:bundle": "pnpm --frozen-lockfile --silent recursive install && pnpm -C mcp-server bundle",
"mcp-server:test": "pnpm --frozen-lockfile --silent recursive install && pnpm -C mcp-server test",
"mcp-server:format": "pnpm --frozen-lockfile --silent recursive install && pnpm -C mcp-server format",
"cli": "pnpm --frozen-lockfile --silent recursive install && DOUGHNUT_API_BASE_URL=http://localhost:9081 DOUGHNUT_CONFIG_DIR=$HOME/.config/doughnut-dev pnpm -C cli exec tsx src/index.ts",
"cli:bundle": "pnpm --frozen-lockfile --silent recursive install && pnpm -C cli bundle",
"cli:bundle-and-copy": "pnpm cli:bundle && mkdir -p backend/src/main/resources/static/doughnut-cli-latest && cp cli/dist/doughnut-cli.bundle.mjs backend/src/main/resources/static/doughnut-cli-latest/doughnut",
"cli:format": "pnpm --frozen-lockfile --silent recursive install && pnpm -C cli format",
"cli:lint": "pnpm --frozen-lockfile --silent recursive install && pnpm -C cli lint",
"cli:test": "pnpm --frozen-lockfile --silent recursive install && pnpm -C cli test",
"frontend:build": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend build",
"frontend:format": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend format",
"frontend:lint": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend lint",
"frontend:test:ui": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend test:ui",
"frontend:test": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend test",
"frontend:test:watch": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend test:watch",
"frontend:verify": "pnpm frontend:test && pnpm frontend:build",
"frontend:sut": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend dev",
"frontend:storybook": "pnpm --frozen-lockfile --silent recursive install && pnpm -C frontend storybook",
"storybook": "pnpm frontend:storybook",
"backend:format": "backend/gradlew -p backend spotlessApply || exit 1",
"backend:lint": "backend/gradlew -p backend lint",
"backend:test_only": "backend/gradlew -p backend test -Dspring.profiles.active=test --build-cache --parallel",
"backend:test": "pnpm backend:format && (backend/gradlew -p backend migrateTestDB -Dspring.profiles.active=test || (echo 'Migration failed! 💀' && exit 1)) && pnpm backend:test_only",
"backend:verify": "pnpm backend:test",
"backend:generateOpenAPIDocs": "backend/gradlew -p backend generateOpenAPIDocs -Dspring.profiles.active=test --build-cache",
"backend:watch": "backend/gradlew -p backend -t classes",
"backend:sut:ci": "backend/gradlew -p backend bootRunE2E --build-cache",
"backend:sut": "pnpm exec run-p -clnr backend:watch backend:sut:ci",
"openAPIToTypeScript": "openapi-ts",
"openapi:lint": "redocly lint open_api_docs.yaml",
"generateTypeScript": "pnpm --frozen-lockfile --silent install && pnpm backend:generateOpenAPIDocs && pnpm openAPIToTypeScript && node scripts/add-generated-package-json.mjs",
"cy:format": "pnpm --frozen-lockfile --silent install && pnpm biome check --write .",
"cy:lint": "pnpm --frozen-lockfile --silent install && pnpm biome check .",
"cy:open": "cypress open --e2e",
"cy:run": "cypress run --config-file e2e_test/config/ci.ts",
"cy:focus": "cypress run --config-file e2e_test/config/local.ts",
"cy:run-with-sut": "wait-on tcp:9081 tcp:5173 && cypress run --config-file e2e_test/config/local.ts",
"cy:run-on-sut": "wait-on tcp:9081 && pnpm cy:run",
"test": "pnpm --frozen-lockfile --silent recursive install && pnpm frontend:build && pnpm exec run-p -clnr backend:sut start:mb cy:run-on-sut",
"sut": "pnpm --frozen-lockfile --silent recursive install && pnpm exec run-p -clnr backend:sut start:mb frontend:sut",
"verify": "pnpm format:all && pnpm test",
"lint:all": "pnpm --frozen-lockfile --silent recursive install && pnpm backend:lint && pnpm frontend:lint && pnpm cli:lint && pnpm cy:lint && pnpm openapi:lint",
"format:all": "pnpm --frozen-lockfile --silent recursive install && pnpm backend:format && pnpm frontend:format && pnpm mcp-server:format && pnpm cli:format && pnpm cy:format && pnpm openapi:lint",
"format:changed": "scripts/format_changed.sh",
"bundle:all": "pnpm mcp-server:bundle && pnpm cli:bundle-and-copy && pnpm frontend:build",
"sound": "github_action_sound https://github.com/nerds-odd-e/doughnut/actions"
},
"cypress-cucumber-preprocessor": {
"stepDefinitions": "e2e_test/step_definitions/**/*.ts",
"nonGlobalStepDefinitions": false,
"filterSpecs": true,
"omitFiltered": true
},
"devDependencies": {
"@anev/ts-mountebank": "1.8.0",
"@badeball/cypress-cucumber-preprocessor": "^24.0.1",
"@bahmutov/cypress-esbuild-preprocessor": "^2.2.8",
"@biomejs/biome": "2.4.6",
"@cucumber/cucumber": "^12.7.0",
"@hey-api/openapi-ts": "0.94.0",
"@mbtest/mountebank": "2.9.3",
"@modelcontextprotocol/sdk": "^1.27.1",
"@redocly/cli": "^2.20.4",
"@testing-library/cypress": "10.1.0",
"@types/cypress-cucumber-preprocessor": "^4.0.5",
"@types/jquery": "3.5.33",
"@types/node": "25.4.0",
"adm-zip": "^0.5.16",
"cypress": "15.11.0",
"cypress-file-upload": "^5.0.8",
"github_action_sound": "^1.0.8",
"got": "^14.6.6",
"hono": "^4.12.7",
"npm-run-all2": "^8.0.4",
"process": "^0.11.10",
"superagent": "^10.3.0",
"syncpack": "^14.2.0",
"typescript": "5.9.3",
"util": "^0.12.5",
"wait-on": "^9.0.4",
"yaml": "^2.8.2"
},
"dependencies": {
"vue-toastification": "2.0.0-rc.5"
},
"pnpm": {
"overrides": {
"ejs": ">=3.1.10",
"jsonpath-plus@<10.0.0": ">=10.2.0",
"nodemailer": ">=7.0.11",
"*>superagent": ">=10.0.0",
"formidable": ">=3.5.3",
"form-data": ">=4.0.4",
"tmp": ">=0.2.4",
"js-yaml": ">=4.1.1",
"glob": ">=11.1.0",
"body-parser": ">=2.2.1",
"express": ">=5.2.0",
"systeminformation": ">=5.31.0",
"qs": ">=6.14.2",
"hono": "^4.12.7",
"@hono/node-server": ">=1.19.10",
"undici": ">=6.23.0",
"diff": ">=8.0.3",
"lodash-es": ">=4.17.23",
"lodash": ">=4.17.23",
"fast-xml-parser": ">=5.3.6",
"@isaacs/brace-expansion": ">=5.0.1",
"axios": ">=1.13.5",
"minimatch": ">=10.2.3",
"ajv": ">=8.18.0",
"rollup": ">=4.59.0",
"serialize-javascript": ">=7.0.3",
"immutable": ">=5.1.5",
"mailparser": ">=3.9.3",
"@tootallnate/once": ">=3.0.1",
"dompurify": ">=3.3.2",
"express-rate-limit": ">=8.2.2"
},
"onlyBuiltDependencies": [
"@badeball/cypress-cucumber-preprocessor",
"@biomejs/biome",
"@parcel/watcher",
"core-js",
"core-js-pure",
"cypress",
"esbuild",
"github_action_sound",
"package-with-necessary-build-scripts",
"protobufjs"
],
"patchedDependencies": {
"find-cypress-specs@1.54.9": "patches/find-cypress-specs@1.54.9.patch"
}
},
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be"
}