@api-client/ui 0.5.39 → 0.5.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/build/src/elements/contextual-menu/{internals/ContextualMenu.d.ts → ContextualMenu.d.ts} +11 -6
  2. package/build/src/elements/contextual-menu/ContextualMenu.d.ts.map +1 -0
  3. package/build/src/elements/contextual-menu/{internals/ContextualMenu.js → ContextualMenu.js} +25 -3
  4. package/build/src/elements/contextual-menu/ContextualMenu.js.map +1 -0
  5. package/build/src/elements/contextual-menu/internals/types.d.ts +16 -7
  6. package/build/src/elements/contextual-menu/internals/types.d.ts.map +1 -1
  7. package/build/src/elements/contextual-menu/internals/types.js.map +1 -1
  8. package/build/tsconfig.tsbuildinfo +1 -0
  9. package/package.json +1 -1
  10. package/src/elements/contextual-menu/{internals/ContextualMenu.ts → ContextualMenu.ts} +31 -7
  11. package/src/elements/contextual-menu/internals/types.ts +17 -7
  12. package/.aiexclude +0 -3
  13. package/.cursor/rules/html-and-css-best-practices.mdc +0 -63
  14. package/.cursor/rules/lit-best-practices.mdc +0 -89
  15. package/.editorconfig +0 -29
  16. package/.github/CONTRIBUTING.md +0 -24
  17. package/.github/instructions/html-and-css-best-practices.instructions.md +0 -70
  18. package/.github/instructions/lit-best-practices.instructions.md +0 -90
  19. package/.github/release.yml +0 -14
  20. package/.github/stale.yml +0 -23
  21. package/.github/workflows/auto-release.yml +0 -182
  22. package/.github/workflows/release.yml +0 -82
  23. package/.prettierrc.js +0 -14
  24. package/.vscode/settings.json +0 -18
  25. package/RELEASE.md +0 -163
  26. package/RELEASE_SETUP.md +0 -235
  27. package/build/src/demo/DemoPage.d.ts +0 -81
  28. package/build/src/demo/DemoPage.d.ts.map +0 -1
  29. package/build/src/demo/DemoPage.js +0 -175
  30. package/build/src/demo/DemoPage.js.map +0 -1
  31. package/build/src/demo/DemoStyles.d.ts +0 -3
  32. package/build/src/demo/DemoStyles.d.ts.map +0 -1
  33. package/build/src/demo/DemoStyles.js +0 -60
  34. package/build/src/demo/DemoStyles.js.map +0 -1
  35. package/build/src/elements/contextual-menu/internals/ContextualMenu.d.ts.map +0 -1
  36. package/build/src/elements/contextual-menu/internals/ContextualMenu.js.map +0 -1
  37. package/build/test/elements/navigation/Navigation.test.d.ts +0 -3
  38. package/build/test/elements/navigation/Navigation.test.d.ts.map +0 -1
  39. package/build/test/elements/navigation/Navigation.test.js +0 -113
  40. package/build/test/elements/navigation/Navigation.test.js.map +0 -1
  41. package/commitlint.config.cjs +0 -2
  42. package/demo/elements/authorization/AuthPlugin.js +0 -57
  43. package/demo/elements/authorization/AuthProxy.js +0 -215
  44. package/demo/elements/authorization/api-key.html +0 -27
  45. package/demo/elements/authorization/api-key.ts +0 -44
  46. package/demo/elements/authorization/basic.html +0 -27
  47. package/demo/elements/authorization/basic.ts +0 -43
  48. package/demo/elements/authorization/bearer.html +0 -27
  49. package/demo/elements/authorization/bearer.ts +0 -43
  50. package/demo/elements/authorization/env.js +0 -8
  51. package/demo/elements/authorization/index.html +0 -44
  52. package/demo/elements/authorization/ntlm.html +0 -27
  53. package/demo/elements/authorization/ntlm.ts +0 -43
  54. package/demo/elements/authorization/oauth-authorize.html +0 -75
  55. package/demo/elements/authorization/oauth-authorize.ts +0 -40
  56. package/demo/elements/authorization/oauth-error.html +0 -18
  57. package/demo/elements/authorization/oauth-error.ts +0 -10
  58. package/demo/elements/authorization/oauth-popup.html +0 -36
  59. package/demo/elements/authorization/oauth2.html +0 -27
  60. package/demo/elements/authorization/oauth2.ts +0 -100
  61. package/demo/elements/authorization/oidc.html +0 -27
  62. package/demo/elements/authorization/oidc.ts +0 -139
  63. package/demo/elements/authorization/private.crt +0 -31
  64. package/demo/elements/authorization/private.csr +0 -28
  65. package/demo/elements/authorization/private.key +0 -51
  66. package/demo/elements/authorization/private.pem +0 -31
  67. package/demo/elements/authorization/redirect.html +0 -20
  68. package/demo/elements/authorization/ssl-commands.sh +0 -30
  69. package/demo/elements/authorization/ssl.conf +0 -24
  70. package/demo/elements/autocomplete/index.html +0 -64
  71. package/demo/elements/autocomplete/index.ts +0 -171
  72. package/demo/elements/code-editor/CodeEditorDemo.ts +0 -173
  73. package/demo/elements/code-editor/index.html +0 -19
  74. package/demo/elements/context-menu/DemoIcons.ts +0 -21
  75. package/demo/elements/context-menu/basic.html +0 -25
  76. package/demo/elements/context-menu/basic.ts +0 -119
  77. package/demo/elements/context-menu/custom-data.html +0 -25
  78. package/demo/elements/context-menu/custom-data.ts +0 -62
  79. package/demo/elements/context-menu/demo.css +0 -28
  80. package/demo/elements/context-menu/enabled-state.html +0 -25
  81. package/demo/elements/context-menu/enabled-state.ts +0 -73
  82. package/demo/elements/context-menu/icons.html +0 -25
  83. package/demo/elements/context-menu/icons.ts +0 -64
  84. package/demo/elements/context-menu/index.html +0 -43
  85. package/demo/elements/context-menu/nested.html +0 -25
  86. package/demo/elements/context-menu/nestedt.ts +0 -152
  87. package/demo/elements/context-menu/no-execute.html +0 -25
  88. package/demo/elements/context-menu/no-execute.ts +0 -134
  89. package/demo/elements/context-menu/radio-menu.html +0 -25
  90. package/demo/elements/context-menu/radio-menu.ts +0 -83
  91. package/demo/elements/context-menu/separators.html +0 -25
  92. package/demo/elements/context-menu/separators.ts +0 -172
  93. package/demo/elements/currency/index.html +0 -91
  94. package/demo/elements/currency/index.ts +0 -352
  95. package/demo/elements/environment/environment-editor.html +0 -20
  96. package/demo/elements/environment/environment-editor.ts +0 -49
  97. package/demo/elements/environment/index.html +0 -33
  98. package/demo/elements/environment/server-editor.html +0 -20
  99. package/demo/elements/environment/server-editor.ts +0 -67
  100. package/demo/elements/environment/variables-editor.html +0 -20
  101. package/demo/elements/environment/variables-editor.ts +0 -94
  102. package/demo/elements/har/har-viewer.html +0 -20
  103. package/demo/elements/har/har-viewer.ts +0 -76
  104. package/demo/elements/har/har1.har +0 -3044
  105. package/demo/elements/har/har2.json +0 -439
  106. package/demo/elements/har/index.html +0 -26
  107. package/demo/elements/highlight/example.md +0 -27
  108. package/demo/elements/highlight/index.html +0 -31
  109. package/demo/elements/highlight/marked-highlight.html +0 -132
  110. package/demo/elements/highlight/marked-highlight.ts +0 -22
  111. package/demo/elements/highlight/prism-highlight.html +0 -62
  112. package/demo/elements/highlight/prism-highlight.ts +0 -17
  113. package/demo/elements/http/body-editor.html +0 -17
  114. package/demo/elements/http/body-editor.ts +0 -115
  115. package/demo/elements/http/headers.html +0 -17
  116. package/demo/elements/http/headers.ts +0 -59
  117. package/demo/elements/http/http-assertions.html +0 -20
  118. package/demo/elements/http/http-assertions.ts +0 -89
  119. package/demo/elements/http/http-flows.html +0 -23
  120. package/demo/elements/http/http-flows.ts +0 -89
  121. package/demo/elements/http/index.html +0 -45
  122. package/demo/elements/http/request-editor.html +0 -26
  123. package/demo/elements/http/request-editor.ts +0 -197
  124. package/demo/elements/http/request-log.html +0 -16
  125. package/demo/elements/http/request-log.ts +0 -136
  126. package/demo/elements/http/url-editing.html +0 -17
  127. package/demo/elements/http/url-editing.ts +0 -112
  128. package/demo/elements/icons/index.html +0 -81
  129. package/demo/elements/icons/index.ts +0 -52
  130. package/demo/elements/index.html +0 -72
  131. package/demo/elements/mention-textarea/index.html +0 -19
  132. package/demo/elements/mention-textarea/index.ts +0 -205
  133. package/demo/elements/navigation/navigation-item.html +0 -49
  134. package/demo/elements/navigation/navigation-item.ts +0 -131
  135. package/demo/elements/navigation/navigation.html +0 -20
  136. package/demo/elements/navigation/navigation.ts +0 -45
  137. package/demo/elements/project/index.html +0 -29
  138. package/demo/elements/project/project-run-report.html +0 -20
  139. package/demo/elements/project/project-run-report.ts +0 -132
  140. package/demo/elements/project/request-editor.html +0 -23
  141. package/demo/elements/project/request-editor.ts +0 -232
  142. package/demo/elements/user/user-avatar.html +0 -17
  143. package/demo/elements/user/user-avatar.ts +0 -60
  144. package/demo/env.js +0 -4
  145. package/demo/index.html +0 -34
  146. package/demo/layout/index.html +0 -94
  147. package/demo/layout/index.ts +0 -190
  148. package/demo/md/DemoStyles.ts +0 -61
  149. package/demo/md/UiDemoPage.ts +0 -6
  150. package/demo/md/buttons/button.html +0 -121
  151. package/demo/md/buttons/button.ts +0 -246
  152. package/demo/md/buttons/group.html +0 -36
  153. package/demo/md/buttons/group.ts +0 -171
  154. package/demo/md/checkbox/index.html +0 -39
  155. package/demo/md/checkbox/index.ts +0 -220
  156. package/demo/md/chip/chip.html +0 -70
  157. package/demo/md/chip/chip.ts +0 -219
  158. package/demo/md/chip/pawel6c9a.jpg +0 -0
  159. package/demo/md/collapse/CustomDetail.ts +0 -89
  160. package/demo/md/collapse/collapse.html +0 -21
  161. package/demo/md/collapse/collapse.ts +0 -78
  162. package/demo/md/date-picker/date-picker.ts +0 -336
  163. package/demo/md/date-picker/index.html +0 -171
  164. package/demo/md/dialog/confirm-dialog.html +0 -49
  165. package/demo/md/dialog/confirm-dialog.ts +0 -121
  166. package/demo/md/dialog/dialog.html +0 -25
  167. package/demo/md/dialog/dialog.ts +0 -468
  168. package/demo/md/dropdown-list/index.html +0 -31
  169. package/demo/md/dropdown-list/index.ts +0 -158
  170. package/demo/md/icon-button/index.html +0 -122
  171. package/demo/md/icon-button/index.ts +0 -132
  172. package/demo/md/index.html +0 -73
  173. package/demo/md/inputs/input.html +0 -73
  174. package/demo/md/inputs/input.ts +0 -278
  175. package/demo/md/inputs/radio.html +0 -39
  176. package/demo/md/inputs/radio.ts +0 -156
  177. package/demo/md/inputs/switch.html +0 -45
  178. package/demo/md/inputs/switch.ts +0 -144
  179. package/demo/md/list/list.html +0 -65
  180. package/demo/md/list/list.ts +0 -204
  181. package/demo/md/listbox/listbox.html +0 -31
  182. package/demo/md/listbox/listbox.ts +0 -27
  183. package/demo/md/menu/index.html +0 -19
  184. package/demo/md/menu/index.ts +0 -514
  185. package/demo/md/notification/snack.html +0 -21
  186. package/demo/md/notification/snack.ts +0 -70
  187. package/demo/md/progress/progress.html +0 -46
  188. package/demo/md/progress/progress.ts +0 -161
  189. package/demo/md/segmented-button/index.html +0 -21
  190. package/demo/md/segmented-button/index.ts +0 -55
  191. package/demo/md/select/index.html +0 -16
  192. package/demo/md/select/index.ts +0 -217
  193. package/demo/md/tabs/tabs.html +0 -40
  194. package/demo/md/tabs/tabs.ts +0 -214
  195. package/demo/oauth-popup.html +0 -36
  196. package/demo/page.css +0 -8
  197. package/demo/resources/calendar-month.png +0 -0
  198. package/demo/resources/favorite.png +0 -0
  199. package/demo/resources/fingerprint.png +0 -0
  200. package/demo/resources/home-work.png +0 -0
  201. package/demo/resources/mood.png +0 -0
  202. package/demo/resources/print.png +0 -0
  203. package/demo/resources/stars.png +0 -0
  204. package/demo/resources/theaters.png +0 -0
  205. package/demo/tsconfig.json +0 -4
  206. package/eslint.config.js +0 -97
  207. package/scripts/copy-assets.js +0 -21
  208. package/scripts/release.js +0 -66
  209. package/src/demo/DemoPage.ts +0 -169
  210. package/src/demo/DemoStyles.ts +0 -60
  211. package/test/README.md +0 -375
  212. package/test/contextual-menu/ContextMenu.test.ts +0 -760
  213. package/test/contextual-menu/ContextMenuElement.test.ts +0 -569
  214. package/test/core/activity.spec.ts +0 -413
  215. package/test/core/activity_manager.spec.ts +0 -544
  216. package/test/core/application.spec.ts +0 -218
  217. package/test/core/fragment.spec.ts +0 -565
  218. package/test/core/fragment_manager.spec.ts +0 -404
  219. package/test/core/live_data.spec.ts +0 -558
  220. package/test/core/renderer.spec.ts +0 -113
  221. package/test/dom-assertions.test.ts +0 -182
  222. package/test/elements/MonacoSetup.ts +0 -65
  223. package/test/elements/authorization/basic-method.test.ts +0 -177
  224. package/test/elements/authorization/bearer-method.test.ts +0 -143
  225. package/test/elements/authorization/ntlm-method.test.ts +0 -219
  226. package/test/elements/authorization/oauth2-client-credentials-method.test.ts +0 -334
  227. package/test/elements/authorization/oauth2-code-method.test.ts +0 -320
  228. package/test/elements/authorization/oauth2-custom-grant-method.test.ts +0 -255
  229. package/test/elements/authorization/oauth2-device-code-method.test.ts +0 -371
  230. package/test/elements/authorization/oauth2-implicit-method.test.ts +0 -407
  231. package/test/elements/authorization/oauth2-jwt-method.test.ts +0 -217
  232. package/test/elements/authorization/oauth2-password-method.test.ts +0 -275
  233. package/test/elements/authorization/openid-method.test.ts +0 -591
  234. package/test/elements/autocomplete/autocomplete-input.spec.ts +0 -646
  235. package/test/elements/code-editor/code-editor.accessibility.test.ts +0 -298
  236. package/test/elements/code-editor/code-editor.test.ts +0 -574
  237. package/test/elements/currency/CurrencyPicker.accessibility.test.ts +0 -328
  238. package/test/elements/currency/CurrencyPicker.core.test.ts +0 -318
  239. package/test/elements/currency/CurrencyPicker.integration.test.ts +0 -482
  240. package/test/elements/currency/CurrencyPicker.test.ts +0 -486
  241. package/test/elements/data-table/DataTable.browser.test.ts +0 -649
  242. package/test/elements/har/HarUtils.test.ts +0 -45
  243. package/test/elements/har/HarViewerElement.test.ts +0 -687
  244. package/test/elements/har/test-data/har1.har +0 -3044
  245. package/test/elements/highlight/MarkedHighlightElement.test.ts +0 -452
  246. package/test/elements/highlight/PrismHighlightElement.test.ts +0 -79
  247. package/test/elements/highlight/PrismHighlighter.test.ts +0 -94
  248. package/test/elements/highlight/remoteSanitization.md +0 -1
  249. package/test/elements/highlight/test.md +0 -3
  250. package/test/elements/highlight/test1.md +0 -3
  251. package/test/elements/highlight/test2.md +0 -1
  252. package/test/elements/http/BodyFormdataEditorElement.test.ts +0 -482
  253. package/test/elements/http/BodyMultipartEditorElement.test.ts +0 -658
  254. package/test/elements/http/BodyRawEditorElement.test.ts +0 -90
  255. package/test/elements/http/CertificateAdd.test.ts +0 -457
  256. package/test/elements/http/HttpAssertions.test.ts +0 -994
  257. package/test/elements/http/HttpFlows.test.ts +0 -502
  258. package/test/elements/http/UrlEncodeUtils.test.ts +0 -202
  259. package/test/elements/layout/SplitItem.test.ts +0 -440
  260. package/test/elements/layout/SplitLayoutManager.test.ts +0 -1501
  261. package/test/elements/layout/SplitPanel.test.ts +0 -1109
  262. package/test/elements/mention-textarea/MentionTextArea.basic.test.ts +0 -114
  263. package/test/elements/mention-textarea/MentionTextArea.test.ts +0 -613
  264. package/test/elements/navigation/Navigation.test.ts +0 -120
  265. package/test/env.ts +0 -15
  266. package/test/events/EventTypes.test.ts +0 -363
  267. package/test/events/EventsTestHelpers.ts +0 -16
  268. package/test/helpers/TestUtils.ts +0 -243
  269. package/test/helpers/UiMock.ts +0 -185
  270. package/test/lib/Dom.test.ts +0 -231
  271. package/test/md/button/UiButton.test.ts +0 -347
  272. package/test/md/button/UiIconButton.test.ts +0 -155
  273. package/test/md/chip/UiChip.test.ts +0 -219
  274. package/test/md/collapse/UiCollapse.test.ts +0 -250
  275. package/test/md/collapse/flex-layout.test.ts +0 -105
  276. package/test/md/date-time/DateTime.test.ts +0 -348
  277. package/test/md/dialog/UiConfirmDialog.test.ts +0 -131
  278. package/test/md/dialog/UiDialog.test.ts +0 -759
  279. package/test/md/menu/Menu.test.ts +0 -855
  280. package/test/md/menu/MenuIntegration.test.ts +0 -426
  281. package/test/md/menu/MenuItem.test.ts +0 -652
  282. package/test/md/menu/SubMenu.test.ts +0 -410
  283. package/test/md/progress/UiCircularProgressElement.test.ts +0 -481
  284. package/test/md/progress/UiProgressElement.test.ts +0 -117
  285. package/test/md/progress/UiRangeElement.test.ts +0 -156
  286. package/test/md/select/Select.test.ts +0 -925
  287. package/test/plugins/takeScreenshotPlugin.js +0 -35
  288. package/test/setup.test.ts +0 -217
  289. package/test/setup.ts +0 -117
  290. package/test/tsconfig.json +0 -7
  291. package/web-dev-server.config.js +0 -21
  292. package/web-test-runner.config.js +0 -90
@@ -1,182 +0,0 @@
1
- name: Auto Release
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- env:
9
- FORCE_COLOR: 1
10
-
11
- jobs:
12
- test:
13
- name: Test
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: Checkout code
17
- uses: actions/checkout@v4
18
- with:
19
- fetch-depth: 0
20
-
21
- - name: Setup Node.js
22
- uses: actions/setup-node@v4
23
- with:
24
- node-version: 24
25
- cache: 'npm'
26
-
27
- - uses: google/wireit@setup-github-actions-caching/v2
28
-
29
- - name: Install dependencies
30
- run: npm ci
31
-
32
- - name: Install playwright browsers
33
- run: npx playwright install --with-deps
34
-
35
- - name: Run tests
36
- run: npm test
37
-
38
- determine-release:
39
- name: Determine Release Type
40
- needs: test
41
- runs-on: ubuntu-latest
42
- outputs:
43
- should-release: ${{ steps.release-check.outputs.should-release }}
44
- release-type: ${{ steps.release-check.outputs.release-type }}
45
- new-version: ${{ steps.release-check.outputs.new-version }}
46
- steps:
47
- - name: Checkout code
48
- uses: actions/checkout@v4
49
- with:
50
- fetch-depth: 0
51
- token: ${{ secrets.GITHUB_TOKEN }}
52
-
53
- - name: Setup Node.js
54
- uses: actions/setup-node@v4
55
- with:
56
- node-version: 24
57
- cache: 'npm'
58
-
59
- - name: Install dependencies
60
- run: npm ci
61
-
62
- - name: Determine release type
63
- id: release-check
64
- run: |
65
- # Get the last tag
66
- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
67
- echo "Last tag: $LAST_TAG"
68
-
69
- # Get commits since last tag
70
- COMMITS=$(git log --pretty=format:"%s" ${LAST_TAG}..HEAD)
71
- echo "Commits since last tag:"
72
- echo "$COMMITS"
73
-
74
- # Check if there are any commits to release
75
- if [ -z "$COMMITS" ]; then
76
- echo "No new commits since last tag"
77
- echo "should-release=false" >> $GITHUB_OUTPUT
78
- exit 0
79
- fi
80
-
81
- # Determine release type based on commit messages
82
- RELEASE_TYPE="patch"
83
-
84
- # Check for breaking changes
85
- if echo "$COMMITS" | grep -q "BREAKING CHANGE" || echo "$COMMITS" | grep -q '!:'; then
86
- RELEASE_TYPE="major"
87
- # Check for new features
88
- elif echo "$COMMITS" | grep -q "^feat"; then
89
- RELEASE_TYPE="minor"
90
- fi
91
-
92
- echo "Release type: $RELEASE_TYPE"
93
-
94
- # Calculate new version
95
- CURRENT_VERSION=$(node -p "require('./package.json').version")
96
- echo "Current version: $CURRENT_VERSION"
97
-
98
- # Use semver to calculate new version
99
- NEW_VERSION=$(node -e "
100
- const SemVer = require('@pawel-up/semver/classes/semver.js').default || require('@pawel-up/semver/classes/semver.js');
101
- const ver = new SemVer('$CURRENT_VERSION');
102
- ver.inc('$RELEASE_TYPE');
103
- console.log(ver.format());
104
- " CURRENT_VERSION="$CURRENT_VERSION" RELEASE_TYPE="$RELEASE_TYPE")
105
-
106
- echo "New version: $NEW_VERSION"
107
-
108
- echo "should-release=true" >> $GITHUB_OUTPUT
109
- echo "release-type=$RELEASE_TYPE" >> $GITHUB_OUTPUT
110
- echo "new-version=$NEW_VERSION" >> $GITHUB_OUTPUT
111
-
112
- release:
113
- name: Create Release
114
- needs: [test, determine-release]
115
- if: needs.determine-release.outputs.should-release == 'true'
116
- runs-on: ubuntu-latest
117
- permissions:
118
- contents: write
119
- issues: write
120
- pull-requests: write
121
- steps:
122
- - name: Checkout code
123
- uses: actions/checkout@v4
124
- with:
125
- fetch-depth: 0
126
- token: ${{ secrets.GITHUB_TOKEN }}
127
-
128
- - name: Setup Node.js
129
- uses: actions/setup-node@v4
130
- with:
131
- node-version: 24
132
- cache: 'npm'
133
- registry-url: 'https://registry.npmjs.org'
134
-
135
- - name: Install dependencies
136
- run: npm ci
137
-
138
- - name: Update version
139
- run: |
140
- # Update package.json version
141
- NEW_VERSION="${{ needs.determine-release.outputs.new-version }}"
142
- npm version $NEW_VERSION --no-git-tag-version
143
- git add package.json
144
-
145
- # Commit version bump
146
- # git config --local user.email "action@github.com"
147
- # git config --local user.name "GitHub Action"
148
- # git add package.json
149
- # git commit -m "chore: bump version to $NEW_VERSION"
150
- # git push
151
-
152
- - uses: qoomon/actions--create-commit@v1
153
- id: commit
154
- with:
155
- message: "chore: bump version to ${{ needs.determine-release.outputs.new-version }}"
156
- skip-empty: true
157
-
158
- - run: git push
159
-
160
- - name: Build
161
- run: npm run build
162
-
163
- - name: Generate changelog
164
- id: changelog
165
- run: |
166
- echo "changelog<<EOF" >> $GITHUB_OUTPUT
167
- npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1 >> $GITHUB_OUTPUT
168
- echo "EOF" >> $GITHUB_OUTPUT
169
-
170
- - name: Create Release
171
- uses: softprops/action-gh-release@v2
172
- with:
173
- tag_name: v${{ needs.determine-release.outputs.new-version }}
174
- body: ${{ steps.changelog.outputs.changelog }}
175
- draft: false
176
- prerelease: false
177
- generate_release_notes: false
178
-
179
- - name: Publish to npm
180
- run: npm publish --access public
181
- env:
182
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -1,82 +0,0 @@
1
- name: Manual Release
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v*'
7
-
8
- env:
9
- FORCE_COLOR: 1
10
-
11
- jobs:
12
- test:
13
- name: Test
14
- runs-on: ubuntu-latest
15
- steps:
16
- - name: Checkout code
17
- uses: actions/checkout@v4
18
- with:
19
- fetch-depth: 0
20
-
21
- - name: Setup Node.js
22
- uses: actions/setup-node@v4
23
- with:
24
- node-version: 24
25
- cache: 'npm'
26
-
27
- - name: Install dependencies
28
- run: npm ci
29
-
30
- - name: Install playwright browsers
31
- run: npx playwright install --with-deps
32
-
33
- - name: Run tests
34
- run: npm test
35
-
36
- release:
37
- name: Create Release
38
- needs: test
39
- runs-on: ubuntu-latest
40
- permissions:
41
- contents: write
42
- issues: write
43
- pull-requests: write
44
- steps:
45
- - name: Checkout code
46
- uses: actions/checkout@v4
47
- with:
48
- fetch-depth: 0
49
- token: ${{ secrets.GITHUB_TOKEN }}
50
-
51
- - name: Setup Node.js
52
- uses: actions/setup-node@v4
53
- with:
54
- node-version: 24
55
- cache: 'npm'
56
- registry-url: 'https://registry.npmjs.org'
57
-
58
- - name: Install dependencies
59
- run: npm ci
60
-
61
- - name: Build
62
- run: npm run build
63
-
64
- - name: Generate changelog
65
- id: changelog
66
- run: |
67
- echo "changelog<<EOF" >> $GITHUB_OUTPUT
68
- npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1 >> $GITHUB_OUTPUT
69
- echo "EOF" >> $GITHUB_OUTPUT
70
-
71
- - name: Create Release
72
- uses: softprops/action-gh-release@v2
73
- with:
74
- body: ${{ steps.changelog.outputs.changelog }}
75
- draft: false
76
- prerelease: false
77
- generate_release_notes: false
78
-
79
- - name: Publish to npm
80
- run: npm publish --access public
81
- env:
82
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.prettierrc.js DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * @see https://prettier.io/docs/configuration
3
- * @type {import("prettier").Config}
4
- */
5
- export default {
6
- trailingComma: 'es5',
7
- semi: false,
8
- singleQuote: true,
9
- useTabs: false,
10
- quoteProps: 'consistent',
11
- bracketSpacing: true,
12
- arrowParens: 'always',
13
- printWidth: 120,
14
- }
@@ -1,18 +0,0 @@
1
- {
2
- "cSpell.words": [
3
- "debouncer",
4
- "iconbutton",
5
- "itemschange",
6
- "openentity",
7
- "popovertarget",
8
- "querycomplete",
9
- "selectedcontent",
10
- "startactivity",
11
- "startactivityforresult",
12
- "typescale"
13
- ],
14
- "vscode-wtr-runner.testRunnerCommand": "npm run tsc:all && npx wtr --playwright --browsers \"chromium\"",
15
- "geminicodeassist.customCommands": {
16
- "add-comments": "add comments to my code. add examples whenever reasonable. focus on another developer understanding what the function is about. don't forget about class fields."
17
- }
18
- }
package/RELEASE.md DELETED
@@ -1,163 +0,0 @@
1
- # Release Guide
2
-
3
- This project uses an **automated release system** with conventional commits and GitHub Actions. Releases are automatically created when changes are merged to the main branch.
4
-
5
- ## 🚀 Automated Releases (Recommended)
6
-
7
- ### How It Works
8
-
9
- 1. **Push to main branch** (usually via PR merge)
10
- 2. **Tests run automatically** to ensure quality
11
- 3. **System analyzes commit messages** since the last release
12
- 4. **Release type is determined automatically:**
13
- - `major` - if commits contain "breaking:" or "!:"
14
- - `minor` - if commits contain "feat:" (new features)
15
- - `patch` - for all other changes (bug fixes, docs, etc.)
16
- 5. **Release is created automatically** with changelog and npm publish
17
-
18
- ### Commit Message Examples
19
-
20
- ```bash
21
- # Major release (breaking changes)
22
- git commit -m "feat!: remove deprecated API"
23
- git commit -m "feat: new system
24
-
25
- BREAKING CHANGE: Old methods no longer work"
26
-
27
- # Minor release (new features)
28
- git commit -m "feat: add OAuth2 support"
29
- git commit -m "feat(auth): implement JWT tokens"
30
-
31
- # Patch release (bug fixes, docs, etc.)
32
- git commit -m "fix: resolve memory leak"
33
- git commit -m "docs: update API documentation"
34
- git commit -m "chore: update dependencies"
35
- ```
36
-
37
- ### What Happens Automatically
38
-
39
- 1. ✅ Tests run to ensure everything works
40
- 2. ✅ Version is bumped in `package.json`
41
- 3. ✅ Changes are committed with conventional commit message
42
- 4. ✅ Git tag is created (e.g., `v1.2.3`)
43
- 5. ✅ GitHub release is created with automated changelog
44
- 6. ✅ Package is published to npm
45
-
46
- ## 🔧 Manual Releases (Fallback)
47
-
48
- If you need to create a release manually (e.g., for hotfixes or special releases):
49
-
50
- ### Option 1: Use the release script
51
-
52
- ```bash
53
- # Create a patch release (bug fixes)
54
- npm run release:patch
55
-
56
- # Create a minor release (new features)
57
- npm run release:minor
58
-
59
- # Create a major release (breaking changes)
60
- npm run release:major
61
-
62
- # Or use the default (patch)
63
- npm run release
64
- ```
65
-
66
- ### Option 2: Manual tag creation
67
-
68
- ```bash
69
- npm run build
70
- # Update version in package.json
71
- npm version patch --no-git-tag-version
72
-
73
- # Commit the change
74
- git add package.json
75
- git commit -m "chore: bump version to X.Y.Z"
76
-
77
- # Create and push tag
78
- git tag vX.Y.Z
79
- git push origin main
80
- git push origin vX.Y.Z
81
- ```
82
-
83
- ## 📋 Conventional Commits
84
-
85
- The release system uses conventional commits to generate changelogs. Your commit messages should follow this format:
86
-
87
- ```plain
88
- type(scope): description
89
-
90
- [optional body]
91
-
92
- [optional footer]
93
- ```
94
-
95
- ### Commit Types
96
-
97
- - `feat`: New features (triggers minor release)
98
- - `fix`: Bug fixes (triggers patch release)
99
- - `docs`: Documentation changes
100
- - `style`: Code style changes (formatting, etc.)
101
- - `refactor`: Code refactoring
102
- - `test`: Adding or updating tests
103
- - `chore`: Maintenance tasks
104
-
105
- ### Breaking Changes
106
-
107
- To indicate a breaking change, use either:
108
-
109
- - `!:` in the commit message: `feat!: remove deprecated API`
110
- - `BREAKING CHANGE:` in the commit body:
111
-
112
- ```plain
113
- feat: new authentication system
114
-
115
- BREAKING CHANGE: Old auth methods are no longer supported
116
- ```
117
-
118
- ## 🔄 Workflow Comparison
119
-
120
- | Aspect | Automated Release | Manual Release |
121
- |--------|------------------|----------------|
122
- | **Trigger** | Push to main | Tag push or script |
123
- | **Release Type** | Auto-detected from commits | Manually specified |
124
- | **Effort** | Zero - fully automated | Manual intervention |
125
- | **Use Case** | Regular development flow | Hotfixes, special releases |
126
-
127
- ## 🛠️ Configuration
128
-
129
- The release system is configured in:
130
-
131
- - `.github/workflows/auto-release.yml` - Automated release workflow
132
- - `.github/workflows/release.yml` - Manual release workflow (fallback)
133
- - `scripts/release.js` - Manual release automation script
134
- - `commitlint.config.js` - Conventional commits configuration
135
- - `package.json` - Version management and scripts
136
-
137
- ## 🚨 Troubleshooting
138
-
139
- ### Common Issues
140
-
141
- 1. **No release created**: Check if commits follow conventional format
142
- 2. **Wrong release type**: Ensure commit messages use correct prefixes
143
- 3. **Tests failing**: Release won't proceed if tests fail
144
- 4. **Permission denied**: Ensure GitHub token has write permissions
145
-
146
- ### Debugging
147
-
148
- The automated workflow logs will show:
149
-
150
- - Last tag found
151
- - Commits since last tag
152
- - Determined release type
153
- - Calculated new version
154
-
155
- ### Rollback
156
-
157
- If you need to rollback a release:
158
-
159
- 1. Delete the tag locally: `git tag -d vX.Y.Z`
160
- 2. Delete the tag on GitHub: `git push origin :refs/tags/vX.Y.Z`
161
- 3. Revert the version in `package.json`
162
- 4. Commit the revert: `git commit -m "chore: revert version to X.Y.Z"`
163
- 5. Push the changes: `git push origin main`
package/RELEASE_SETUP.md DELETED
@@ -1,235 +0,0 @@
1
- # Automated Release System Setup
2
-
3
- ## 🎯 Overview
4
-
5
- This project now has a **fully automated release system** that:
6
-
7
- 1. **Automatically detects release types** from commit messages
8
- 2. **Creates releases on every merge to main** (when there are changes)
9
- 3. **Generates changelogs** from conventional commits
10
- 4. **Publishes to npm** automatically
11
- 5. **Provides manual fallback** for special cases
12
-
13
- ## 🔄 How It Works
14
-
15
- ### Automated Flow
16
-
17
- ```plain
18
- Push to main → Tests run → Analyze commits → Determine release type → Create release
19
- ```
20
-
21
- 1. **Trigger**: Any push to the `main` branch (usually PR merges)
22
- 2. **Testing**: Full test suite runs to ensure quality
23
- 3. **Analysis**: System examines commits since last release
24
- 4. **Decision**: Release type determined by commit messages:
25
- - `major`: Breaking changes (`!:` or `BREAKING CHANGE:`)
26
- - `minor`: New features (`feat:`)
27
- - `patch`: Everything else (`fix:`, `docs:`, `chore:`, etc.)
28
- 5. **Release**: If changes exist, creates GitHub release + npm publish
29
-
30
- ### Manual Fallback
31
-
32
- ```plain
33
- Create tag → Manual release workflow → Create release
34
- ```
35
-
36
- For hotfixes or special releases, you can still use manual methods.
37
-
38
- ## 📁 Workflow Files
39
-
40
- ### `.github/workflows/auto-release.yml`
41
-
42
- - **Purpose**: Main automated release workflow
43
- - **Trigger**: Push to main branch
44
- - **Jobs**:
45
- - `test`: Run tests
46
- - `determine-release`: Analyze commits and decide release type
47
- - `release`: Create release and publish
48
-
49
- ### `.github/workflows/release.yml`
50
-
51
- - **Purpose**: Manual release fallback
52
- - **Trigger**: Push of version tags (`v*`)
53
- - **Use case**: Manual releases, hotfixes
54
-
55
- ### `.github/workflows/test.yml`
56
-
57
- - **Purpose**: Quality assurance
58
- - **Trigger**: PRs and pushes to main
59
- - **Jobs**: Run tests and linting
60
-
61
- ## 🎯 Release Type Detection
62
-
63
- The system analyzes commit messages since the last release:
64
-
65
- ### Major Release (X.0.0)
66
-
67
- ```bash
68
- git commit -m "feat!: remove deprecated API"
69
- git commit -m "feat: new system
70
-
71
- BREAKING CHANGE: Old methods no longer work"
72
- ```
73
-
74
- ### Minor Release (0.X.0)
75
-
76
- ```bash
77
- git commit -m "feat: add OAuth2 support"
78
- git commit -m "feat(auth): implement JWT tokens"
79
- ```
80
-
81
- ### Patch Release (0.0.X)
82
-
83
- ```bash
84
- git commit -m "fix: resolve memory leak"
85
- git commit -m "docs: update API docs"
86
- git commit -m "chore: update dependencies"
87
- ```
88
-
89
- ## 🛠️ Configuration Details
90
-
91
- ### Commit Analysis Logic
92
-
93
- ```bash
94
- # Check for breaking changes first
95
- if echo "$COMMITS" | grep -q "BREAKING CHANGE\|!:"; then
96
- RELEASE_TYPE="major"
97
- # Then check for new features
98
- elif echo "$COMMITS" | grep -q "^feat"; then
99
- RELEASE_TYPE="minor"
100
- # Default to patch
101
- else
102
- RELEASE_TYPE="patch"
103
- fi
104
- ```
105
-
106
- ### Version Calculation
107
-
108
- Uses the `@pawel-up/semver` package for proper semantic versioning:
109
-
110
- ```javascript
111
- import SemVer from '@pawel-up/semver/classes/semver.js';
112
- const ver = new SemVer(currentVersion);
113
- ver.inc(releaseType);
114
- return ver.format();
115
- ```
116
-
117
- ### Changelog Generation
118
-
119
- Uses `conventional-changelog-cli` with the `conventionalcommits` preset:
120
-
121
- ```bash
122
- npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1
123
- ```
124
-
125
- ## 🔧 Setup Requirements
126
-
127
- ### GitHub Secrets
128
-
129
- - `GITHUB_TOKEN`: Automatically provided
130
- - `NPM_TOKEN`: Required for npm publishing
131
-
132
- ### Dependencies
133
-
134
- - `conventional-changelog-cli`: For changelog generation
135
- - `@pawel-up/semver`: For version calculation
136
- - `@commitlint/config-conventional`: For commit validation
137
-
138
- ### Permissions
139
-
140
- The workflows require these permissions:
141
-
142
- - `contents: write` - Create releases and tags
143
- - `issues: write` - Update issues
144
- - `pull-requests: write` - Update PRs
145
-
146
- ## 🚀 Usage Examples
147
-
148
- ### Normal Development Flow
149
-
150
- 1. **Create feature branch**
151
-
152
- ```bash
153
- git checkout -b feature/new-auth
154
- ```
155
-
156
- 2. **Make changes with proper commits**
157
-
158
- ```bash
159
- git commit -m "feat: add OAuth2 authentication"
160
- git commit -m "docs: update authentication docs"
161
- ```
162
-
163
- 3. **Create PR and merge to main**
164
- - PR triggers test workflow
165
- - Merge triggers auto-release workflow
166
- - System creates minor release automatically
167
-
168
- ### Hotfix Flow
169
-
170
- 1. **Create hotfix branch**
171
-
172
- ```bash
173
- git checkout -b hotfix/critical-bug
174
- ```
175
-
176
- 2. **Fix and commit**
177
-
178
- ```bash
179
- git commit -m "fix: resolve critical memory leak"
180
- ```
181
-
182
- 3. **Merge to main**
183
- - System creates patch release automatically
184
-
185
- ### Manual Release (if needed)
186
-
187
- ```bash
188
- # For immediate release
189
- npm run release:patch
190
-
191
- # Or create tag manually
192
- git tag v1.2.3
193
- git push origin v1.2.3
194
- ```
195
-
196
- ## 🔍 Monitoring and Debugging
197
-
198
- ### Workflow Logs
199
-
200
- Check the GitHub Actions tab to see:
201
-
202
- - Which commits were analyzed
203
- - What release type was determined
204
- - Why a release was or wasn't created
205
-
206
- ### Common Issues
207
-
208
- 1. **No release created**: No new commits since last tag
209
- 2. **Wrong release type**: Check commit message format
210
- 3. **Tests failing**: Release won't proceed
211
- 4. **Permission errors**: Check GitHub token permissions
212
-
213
- ### Debugging Commands
214
-
215
- ```bash
216
- # Check last tag
217
- git describe --tags --abbrev=0
218
-
219
- # See commits since last tag
220
- git log --pretty=format:"%s" $(git describe --tags --abbrev=0)..HEAD
221
-
222
- # Check conventional commit format
223
- npx commitlint --edit .git/COMMIT_EDITMSG
224
- ```
225
-
226
- ## 🎉 Benefits
227
-
228
- 1. **Zero manual intervention** for regular releases
229
- 2. **Consistent release process** with proper semantic versioning
230
- 3. **Automatic changelog generation** from commit history
231
- 4. **Quality gates** with automated testing
232
- 5. **Flexible fallback** for special cases
233
- 6. **Proper audit trail** with conventional commits
234
-
235
- This setup provides a modern, automated release system that follows industry best practices and reduces manual work while ensuring quality and consistency.