fg-devkit 1.22.0 → 1.24.0

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 (69) hide show
  1. package/README.md +30 -7
  2. package/configs/dependency-policy.vue-workspace.json +28 -28
  3. package/package.json +12 -85
  4. package/scaffold/vue/package.json +13 -13
  5. package/scripts/audit-override-commit.mjs +167 -24
  6. package/scripts/bump-node-toolchain.mjs +8 -31
  7. package/scripts/bump-pnpm-toolchain.mjs +8 -29
  8. package/scripts/check-dependency-policy.mjs +10 -35
  9. package/scripts/fg-devkit.mjs +290 -337
  10. package/scripts/fleet-bump-fg-devkit.mjs +4 -5
  11. package/scripts/fleet-git-commit-push-scoped.mjs +6 -26
  12. package/scripts/fleet-git-discard-scoped.mjs +5 -25
  13. package/scripts/fleet-git-pull-scoped.mjs +5 -25
  14. package/scripts/fleet-vulns.mjs +4 -9
  15. package/scripts/generate-release-notes.mjs +1 -1
  16. package/scripts/{audit-fix-plan.mjs → lib/audit-fix-plan.mjs} +77 -4
  17. package/scripts/{audit-fix-plan.test.mjs → lib/audit-fix-plan.test.mjs} +50 -2
  18. package/scripts/lib/common.mjs +95 -0
  19. package/scripts/{dependency-policy-toolchain.mjs → lib/dependency-policy-toolchain.mjs} +3 -35
  20. package/scripts/{git-commit-push-fleet-common.mjs → lib/git-commit-push-fleet-common.mjs} +1 -1
  21. package/scripts/{git-discard-fleet-common.mjs → lib/git-discard-fleet-common.mjs} +1 -1
  22. package/scripts/{git-pull-fleet-common.mjs → lib/git-pull-fleet-common.mjs} +1 -1
  23. package/scripts/{override-changes.mjs → lib/override-changes.mjs} +20 -0
  24. package/scripts/{piwik-dimensions.test.mjs → lib/piwik-dimensions.test.mjs} +0 -5
  25. package/scripts/{release-notes-common.mjs → lib/release-notes-common.mjs} +5 -7
  26. package/scripts/{resolve-dependency-policy-path.mjs → lib/resolve-dependency-policy-path.mjs} +4 -3
  27. package/scripts/piwik.mjs +6 -6
  28. package/scripts/poeditor-download.mjs +1 -1
  29. package/scripts/poeditor-upload.mjs +1 -1
  30. package/scripts/policy-outdated.mjs +3 -8
  31. package/scripts/policy-upgrade-commit.mjs +5 -26
  32. package/scripts/policy-upgrade.mjs +6 -30
  33. package/scripts/policy-vulns.mjs +3 -8
  34. package/scripts/prune-overrides.mjs +5 -16
  35. package/scripts/prune-release-age-exclude.mjs +1 -1
  36. package/scripts/refresh-dependency-policy-from-repos.mjs +5 -7
  37. package/scripts/release.sh +2 -1
  38. package/scripts/scaffold-vue.mjs +1 -3
  39. package/scripts/setup-ai-rules.mjs +135 -0
  40. package/scripts/sync-consumer-lefthook.mjs +7 -24
  41. package/scripts/sync-dependency-check-suppressions-commit.mjs +7 -46
  42. package/scripts/sync-dependency-policy-commit.mjs +6 -38
  43. package/scripts/sync-dependency-policy.mjs +9 -35
  44. package/scripts/sync-node-toolchain.mjs +5 -8
  45. package/scripts/sync-pnpm-toolchain.mjs +5 -8
  46. package/scripts/sync-scaffold-vue-deps.mjs +6 -7
  47. package/scripts/sync-tooling-configs.mjs +8 -23
  48. package/scripts/sync-vite-plugin-vue-inspector.mjs +7 -39
  49. package/scripts/verify-release-notes.mjs +1 -1
  50. package/.cursor/rules/core-coding-standards.mdc +0 -291
  51. package/scaffold/vue/.gitignore +0 -13
  52. package/scripts/cz/.cz-config.cjs +0 -29
  53. package/scripts/fleet-git-commit-push.mjs +0 -75
  54. package/scripts/fleet-git-discard.mjs +0 -66
  55. package/scripts/fleet-git-pull.mjs +0 -65
  56. package/scripts/sync-core-coding-standards.mjs +0 -77
  57. package/scripts/sync-peers-from-dev.mjs +0 -31
  58. package/scripts/vuln-commit.mjs +0 -142
  59. /package/configs/{fallowrc.sync-stub.json → fallowrc.json} +0 -0
  60. /package/scripts/{dependency-policy-pins.mjs → lib/dependency-policy-pins.mjs} +0 -0
  61. /package/scripts/{fleet-project-repos.mjs → lib/fleet-project-repos.mjs} +0 -0
  62. /package/scripts/{fleet-repo-picker.mjs → lib/fleet-repo-picker.mjs} +0 -0
  63. /package/scripts/{fleet-vue-repos.mjs → lib/fleet-vue-repos.mjs} +0 -0
  64. /package/scripts/{git-fleet-common.mjs → lib/git-fleet-common.mjs} +0 -0
  65. /package/scripts/{node-toolchain-sync.mjs → lib/node-toolchain-sync.mjs} +0 -0
  66. /package/scripts/{piwik-common.mjs → lib/piwik-common.mjs} +0 -0
  67. /package/scripts/{piwik-dimensions.mjs → lib/piwik-dimensions.mjs} +0 -0
  68. /package/scripts/{pnpm-toolchain-sync.mjs → lib/pnpm-toolchain-sync.mjs} +0 -0
  69. /package/scripts/{poeditor-common.mjs → lib/poeditor-common.mjs} +0 -0
package/README.md CHANGED
@@ -61,7 +61,9 @@ Or run Fallow directly with custom args:
61
61
  pnpm exec fgd fallow dead-code --json
62
62
  ```
63
63
 
64
- When you run `fgd sync-tooling-configs` (or `fgd sync-project-configs`), fg-devkit also writes a shared `.fallowrc.json` to the consuming repo.
64
+ Both use fg-devkit's shared [`configs/fallowrc.json`](configs/fallowrc.json), so config changes reach every repo on
65
+ the next fg-devkit bump. A repo that has its own `.fallowrc.json` (or `.fallowrc.jsonc`, `fallow.toml`, `.fallow.toml`)
66
+ uses that instead, and so does an explicit `--config`.
65
67
 
66
68
  Write the OWASP Dependency-Check suppressions that apply to a consuming repo and commit them:
67
69
 
@@ -81,18 +83,32 @@ To sync standard consumer scripts to `fgd` commands:
81
83
  pnpm exec fgd sync-consumer-scripts
82
84
  ```
83
85
 
84
- To migrate from Husky + lint-staged to Lefthook:
86
+ To set up Lefthook git hooks:
85
87
 
86
88
  ```bash
87
89
  pnpm exec fgd setup-lefthook
88
90
  ```
89
91
 
92
+ To use the shared AI rules from [feelgood/fg-ai-rules](https://github.com/feelgood/fg-ai-rules) in Claude Code:
93
+
94
+ ```bash
95
+ pnpm exec fgd setup-ai-rules
96
+ ```
97
+
98
+ It enables the `fg-core` and `fg-frontend` plugins in `.claude/settings.json`, adds the `fg` marketplace
99
+ to Claude Code if it is missing, and installs the plugins for the repo. Claude Code doesn't install them from
100
+ the settings file on its own, so every developer runs it once per repo; commit `.claude/settings.json`
101
+ the first time. Needs Claude Code and SSH access to `feelgood/fg-ai-rules`.
102
+
90
103
  Run full consumer setup in one command:
91
104
 
92
105
  ```bash
93
106
  pnpm exec fgd full-consumer-setup
94
107
  ```
95
108
 
109
+ It syncs the consumer scripts, Lefthook, configs and dependency policy, runs `pnpm install`, and finishes with
110
+ `setup-ai-rules`. Without Claude Code that last step only prints a warning.
111
+
96
112
  ## Dependency policy update workflow
97
113
 
98
114
  Check outdated policy versions:
@@ -151,7 +167,8 @@ Upgrade one or more package.json dependencies and auto-commit
151
167
  pnpm exec fgd policy-upgrade-commit
152
168
  ```
153
169
 
154
- Same upgrade, then prune unused workspace overrides in a second commit if any can be dropped:
170
+ Same upgrade, then prune unused workspace overrides in a second commit if any can be dropped
171
+ (this is what the menu's **Upgrade packages [interactive, auto-commit]** runs):
155
172
 
156
173
  ```bash
157
174
  pnpm exec fgd policy-upgrade-commit --prune-overrides
@@ -163,15 +180,21 @@ Fix `pnpm audit` findings with the smallest change, verify, and auto-commit:
163
180
  pnpm exec fgd audit-override-commit # refresh, override, prune, verify, commit
164
181
  pnpm exec fgd audit-override-commit --no-verify # skip lint/typecheck/test/build (git hooks still run)
165
182
  pnpm exec fgd audit-override-commit --no-commit # leave the changes in the working tree
183
+ pnpm exec fgd audit-override-commit --allow-major --allow-young --bump-direct # force without asking
166
184
  ```
167
185
 
168
186
  1. Runs `pnpm audit` and refreshes the vulnerable packages in the lockfile (`pnpm update <names>`).
169
187
  Each moves to the newest version its parents' ranges already allow, so no override is needed.
170
188
  2. Audits again. When a patched version exists but a parent's range blocks it, adds a tight override to
171
189
  `pnpm-workspace.yaml`: `'name@>=installed <patched': 'patched'` (the lowest patched version).
172
- 3. Reports instead of overriding when the only patch is in a new major (upgrade the parent), when it is
173
- younger than `minimumReleaseAge` (re-run later), when the package is a direct dependency (bump it with
174
- `policy-upgrade-commit`), or when no patch exists (candidate for `auditConfig.ignoreGhsas`).
190
+ 3. Asks, one package at a time, before going further than that:
191
+ - the only patch is in a new major: override across the major anyway (`--allow-major`)
192
+ - the patch is younger than `minimumReleaseAge`: allow it by adding `name@version` to
193
+ `minimumReleaseAgeExclude` (`--allow-young`). Step 5 removes the entry once it is old enough.
194
+ - the package is a direct dependency: bump it in `package.json`, keeping the `^`/`~` prefix (`--bump-direct`)
195
+
196
+ Without a terminal (CI) these are only reported unless the flag is passed. Findings with no patch are always
197
+ reported (candidate for a suppression, see step 6). Forced changes go through the same checks in step 7.
175
198
  4. Prunes overrides that no longer change the audit.
176
199
  5. Removes `minimumReleaseAgeExclude` entries that are no longer needed (see `prune-release-age-exclude` below).
177
200
  This step also runs when `pnpm audit` is clean.
@@ -182,7 +205,7 @@ pnpm exec fgd audit-override-commit --no-commit # leave the changes in the work
182
205
  7. Installs and runs the repo's `lint-check`, `lint:ts`, `test`, `test:unit` and `build` scripts when present.
183
206
  Nothing is committed if a check fails.
184
207
  8. Commits the lockfile refresh (`vuln(package): refresh lockfile` / `vuln(): refresh N packages in lockfile`),
185
- the override changes (`vuln(package): override version`, `vuln(): override N packages`), the release-age
208
+ the direct bumps (`vuln(package): bump to version` / `vuln(): bump N dependencies`), the override changes (`vuln(package): override version`, `vuln(): override N packages`), the release-age
186
209
  excludes (`chore(repo): prune minimumReleaseAgeExclude`) and the suppressions file
187
210
  (`chore(repo): sync dependency-check suppressions`) separately.
188
211
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "toolchain": {
3
- "packageManager": "pnpm@12.9.1",
3
+ "packageManager": "pnpm@12.11.2",
4
4
  "node": {
5
5
  "nvmrc": "22",
6
6
  "engines": ">=22.13.0",
@@ -17,8 +17,8 @@
17
17
  "@lexical/rich-text": "0.52.0",
18
18
  "@lexical/link": "0.52.0",
19
19
  "@piwikpro/vue-piwik-pro": "2.0.0",
20
- "@sentry/vue": "11.5.0",
21
- "@tanstack/vue-query": "5.104.1",
20
+ "@sentry/vue": "11.7.0",
21
+ "@tanstack/vue-query": "5.104.3",
22
22
  "@types/leaflet": "1.9.22",
23
23
  "@unhead/vue": "2.0.5",
24
24
  "@vue-leaflet/vue-leaflet": "0.10.1",
@@ -30,72 +30,72 @@
30
30
  "content-disposition-header": "0.6.0",
31
31
  "date-fns": "4.4.0",
32
32
  "element-plus": "2.14.7",
33
- "fds-vue-core": "8.10.0",
33
+ "fds-vue-core": "8.11.0",
34
34
  "imask": "7.6.1",
35
35
  "leaflet": "1.9.4",
36
36
  "lexical": "0.52.0",
37
37
  "lodash": "4.18.1",
38
38
  "lodash-es": "4.18.1",
39
39
  "markdown-it": "15.0.2",
40
- "pinia": "4.0.3",
41
- "playwright": "1.63.0",
40
+ "pinia": "4.1.0",
41
+ "playwright": "1.64.1",
42
42
  "quill": "2.0.3",
43
43
  "randexp": "0.5.3",
44
44
  "register-service-worker": "1.7.2",
45
45
  "vega-embed": "7.3.0",
46
- "vega-lite": "6.4.3",
46
+ "vega-lite": "6.5.0",
47
47
  "vue-chartjs": "5.3.4",
48
- "vue-i18n": "11.4.13",
48
+ "vue-i18n": "11.4.14",
49
49
  "vue-quilly": "1.1.6",
50
- "vue-router": "5.3.1",
50
+ "vue-router": "5.4.0",
51
51
  "vue3-touch-keyboard": "1.3.9",
52
52
  "vuex": "4.1.0",
53
53
  "vuex-persist": "3.1.3",
54
54
  "yup": "1.7.1"
55
55
  },
56
56
  "devDependencies": {
57
- "@chromatic-com/storybook": "5.4.0",
57
+ "@chromatic-com/storybook": "5.5.1",
58
58
  "@eslint/js": "9.39.1",
59
- "@intlify/unplugin-vue-i18n": "11.2.5",
60
- "@playwright/test": "1.63.0",
61
- "@storybook/addon-a11y": "10.6.1",
62
- "@storybook/addon-docs": "10.6.1",
63
- "@storybook/addon-vitest": "10.6.1",
64
- "@storybook/vue3": "10.6.1",
65
- "@storybook/vue3-vite": "10.6.1",
66
- "@tanstack/vue-query-devtools": "6.3.1",
59
+ "@intlify/unplugin-vue-i18n": "11.2.6",
60
+ "@playwright/test": "1.64.1",
61
+ "@storybook/addon-a11y": "10.6.2",
62
+ "@storybook/addon-docs": "10.6.2",
63
+ "@storybook/addon-vitest": "10.6.2",
64
+ "@storybook/vue3": "10.6.2",
65
+ "@storybook/vue3-vite": "10.6.2",
66
+ "@tanstack/vue-query-devtools": "6.3.3",
67
67
  "@tsconfig/node22": "22.0.6",
68
68
  "@types/lodash-es": "4.17.12",
69
69
  "@types/node": "22.16.5",
70
- "@vitest/browser": "5.0.3",
71
- "@vue/compiler-dom": "3.5.43",
70
+ "@vitest/browser": "5.0.4",
71
+ "@vue/compiler-dom": "3.5.44",
72
72
  "@vue/eslint-config-standard": "8.0.1",
73
- "@vue/server-renderer": "3.5.43",
73
+ "@vue/server-renderer": "3.5.44",
74
74
  "@vue/test-utils": "2.5.1",
75
75
  "arg": "5.0.2",
76
76
  "babel-eslint": "10.1.0",
77
- "eslint-plugin-storybook": "10.6.1",
77
+ "eslint-plugin-storybook": "10.6.2",
78
78
  "globals": "15.11.0",
79
79
  "jsdom": "30.1.2",
80
80
  "sass": "1.105.1",
81
- "storybook": "10.6.1",
81
+ "storybook": "10.6.2",
82
82
  "tsx": "4.23.15",
83
83
  "vega": "6.4.0",
84
84
  "vite-plugin-dts": "5.1.2",
85
85
  "vite-plugin-vue-devtools": "8.2.1",
86
86
  "vite-plugin-vue-inspector": "7.0.0",
87
- "vitest": "5.0.3",
87
+ "vitest": "5.0.4",
88
88
  "yaml": "2.9.1"
89
89
  }
90
90
  },
91
91
  "managedAnywhere": {
92
92
  "@tailwindcss/vite": "4.3.3",
93
- "@vitejs/plugin-vue": "6.0.9",
93
+ "@vitejs/plugin-vue": "6.0.10",
94
94
  "axios": "1.20.0",
95
- "dotenv": "18.0.6",
95
+ "dotenv": "18.0.8",
96
96
  "qrcode.vue": "3.11.0",
97
97
  "tailwindcss": "4.3.3",
98
- "vite": "8.3.3",
99
- "vue": "3.5.43"
98
+ "vite": "8.3.4",
99
+ "vue": "3.5.44"
100
100
  }
101
101
  }
package/package.json CHANGED
@@ -1,14 +1,12 @@
1
1
  {
2
2
  "name": "fg-devkit",
3
- "version": "1.22.0",
3
+ "version": "1.24.0",
4
4
  "description": "Shared configs, scripts, and DX tooling for Vue / TypeScript frontend repos",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
7
7
  "bin": {
8
8
  "fgd": "./scripts/fg-devkit.mjs",
9
- "fg-devkit": "./scripts/fg-devkit.mjs",
10
- "fg-vuln-commit": "./scripts/vuln-commit.mjs",
11
- "fds-vuln-commit": "./scripts/vuln-commit.mjs"
9
+ "fg-devkit": "./scripts/fg-devkit.mjs"
12
10
  },
13
11
  "exports": {
14
12
  "./tsconfig.base.json": "./configs/tsconfig.base.json",
@@ -22,71 +20,13 @@
22
20
  "./vscode-settings.json": "./configs/vscode-settings.json",
23
21
  "./dependency-policy.vue-workspace.json": "./configs/dependency-policy.vue-workspace.json",
24
22
  "./dependency-check-suppressions.xml": "./configs/dependency-check-suppressions.xml",
25
- "./vuln-commit": "./scripts/vuln-commit.mjs",
26
- "./cz-config": "./scripts/cz/.cz-config.cjs",
27
- "./scripts/sync-peers-from-dev.mjs": "./scripts/sync-peers-from-dev.mjs",
28
23
  "./scripts/sync-vscode-settings.mjs": "./scripts/sync-vscode-settings.mjs",
29
- "./scripts/sync-core-coding-standards.mjs": "./scripts/sync-core-coding-standards.mjs",
30
- "./scripts/sync-tooling-configs.mjs": "./scripts/sync-tooling-configs.mjs",
31
- "./scripts/sync-dependency-check-suppressions-commit.mjs": "./scripts/sync-dependency-check-suppressions-commit.mjs",
32
- "./scripts/sync-project-configs.mjs": "./scripts/sync-project-configs.mjs",
33
- "./scripts/sync-consumer-scripts.mjs": "./scripts/sync-consumer-scripts.mjs",
34
- "./scripts/sync-vite-plugin-vue-inspector.mjs": "./scripts/sync-vite-plugin-vue-inspector.mjs",
35
- "./scripts/sync-consumer-lefthook.mjs": "./scripts/sync-consumer-lefthook.mjs",
36
- "./scripts/policy-outdated.mjs": "./scripts/policy-outdated.mjs",
37
- "./scripts/policy-vulns.mjs": "./scripts/policy-vulns.mjs",
38
- "./scripts/repo-vulns.mjs": "./scripts/repo-vulns.mjs",
39
- "./scripts/fleet-vulns.mjs": "./scripts/fleet-vulns.mjs",
40
- "./scripts/fleet-bump-fg-devkit.mjs": "./scripts/fleet-bump-fg-devkit.mjs",
41
- "./scripts/bump-pnpm-toolchain.mjs": "./scripts/bump-pnpm-toolchain.mjs",
42
- "./scripts/bump-node-toolchain.mjs": "./scripts/bump-node-toolchain.mjs",
43
- "./scripts/sync-node-toolchain.mjs": "./scripts/sync-node-toolchain.mjs",
44
- "./scripts/node-toolchain-sync.mjs": "./scripts/node-toolchain-sync.mjs",
45
- "./scripts/fleet-project-repos.mjs": "./scripts/fleet-project-repos.mjs",
46
- "./scripts/fleet-repo-picker.mjs": "./scripts/fleet-repo-picker.mjs",
47
- "./scripts/sync-pnpm-toolchain.mjs": "./scripts/sync-pnpm-toolchain.mjs",
48
- "./scripts/pnpm-toolchain-sync.mjs": "./scripts/pnpm-toolchain-sync.mjs",
49
- "./scripts/fleet-git-pull.mjs": "./scripts/fleet-git-pull.mjs",
50
- "./scripts/fleet-git-pull-scoped.mjs": "./scripts/fleet-git-pull-scoped.mjs",
51
- "./scripts/git-pull-fleet-common.mjs": "./scripts/git-pull-fleet-common.mjs",
52
- "./scripts/git-fleet-common.mjs": "./scripts/git-fleet-common.mjs",
53
- "./scripts/git-commit-push-fleet-common.mjs": "./scripts/git-commit-push-fleet-common.mjs",
54
- "./scripts/fleet-git-commit-push.mjs": "./scripts/fleet-git-commit-push.mjs",
55
- "./scripts/fleet-git-commit-push-scoped.mjs": "./scripts/fleet-git-commit-push-scoped.mjs",
56
- "./scripts/git-discard-fleet-common.mjs": "./scripts/git-discard-fleet-common.mjs",
57
- "./scripts/fleet-git-discard.mjs": "./scripts/fleet-git-discard.mjs",
58
- "./scripts/fleet-git-discard-scoped.mjs": "./scripts/fleet-git-discard-scoped.mjs",
59
- "./scripts/policy-upgrade.mjs": "./scripts/policy-upgrade.mjs",
60
- "./scripts/policy-upgrade-commit.mjs": "./scripts/policy-upgrade-commit.mjs",
61
- "./scripts/override-changes.mjs": "./scripts/override-changes.mjs",
62
- "./scripts/audit-override-commit.mjs": "./scripts/audit-override-commit.mjs",
63
- "./scripts/prune-overrides.mjs": "./scripts/prune-overrides.mjs",
64
- "./scripts/check-dependency-policy.mjs": "./scripts/check-dependency-policy.mjs",
65
- "./scripts/sync-dependency-policy.mjs": "./scripts/sync-dependency-policy.mjs",
66
- "./scripts/sync-dependency-policy-commit.mjs": "./scripts/sync-dependency-policy-commit.mjs",
67
- "./scripts/resolve-dependency-policy-path.mjs": "./scripts/resolve-dependency-policy-path.mjs",
68
- "./scripts/refresh-dependency-policy-from-repos.mjs": "./scripts/refresh-dependency-policy-from-repos.mjs",
69
- "./scripts/sync-scaffold-vue-deps.mjs": "./scripts/sync-scaffold-vue-deps.mjs",
70
- "./scripts/poeditor-common.mjs": "./scripts/poeditor-common.mjs",
71
- "./scripts/piwik.mjs": "./scripts/piwik.mjs",
72
- "./scripts/piwik-common.mjs": "./scripts/piwik-common.mjs",
73
- "./scripts/piwik-dimensions.mjs": "./scripts/piwik-dimensions.mjs",
74
- "./scripts/poeditor-download.mjs": "./scripts/poeditor-download.mjs",
75
- "./scripts/poeditor-upload.mjs": "./scripts/poeditor-upload.mjs",
76
- "./scripts/scaffold-vue.mjs": "./scripts/scaffold-vue.mjs",
77
24
  "./scripts/fg-devkit.mjs": "./scripts/fg-devkit.mjs",
78
- "./scripts/resolve-candidate-version.mjs": "./scripts/resolve-candidate-version.mjs",
79
- "./scripts/release.sh": "./scripts/release.sh",
80
- "./scripts/generate-release-notes.mjs": "./scripts/generate-release-notes.mjs",
81
- "./scripts/verify-release-notes.mjs": "./scripts/verify-release-notes.mjs",
82
- "./scripts/sync-release-notes-config.mjs": "./scripts/sync-release-notes-config.mjs",
83
25
  "./release-notes/parseChangelog": "./release-notes/parseChangelog.ts",
84
26
  "./release-notes/format": "./release-notes/format.ts",
85
27
  "./release-notes/types": "./release-notes/types.ts",
86
28
  "./configs/cliff.toml": "./configs/cliff.toml",
87
- "./configs/cliff.user.toml": "./configs/cliff.user.toml",
88
- "./scripts/cz/.cz-config.cjs": "./scripts/cz/.cz-config.cjs",
89
- "./cursor-rules/core-coding-standards.mdc": "./.cursor/rules/core-coding-standards.mdc"
29
+ "./configs/cliff.user.toml": "./configs/cliff.user.toml"
90
30
  },
91
31
  "files": [
92
32
  "configs",
@@ -95,8 +35,7 @@
95
35
  "!**/node_modules",
96
36
  "!**/node_modules/**",
97
37
  "scripts",
98
- "tsconfig.json",
99
- ".cursor/rules/core-coding-standards.mdc"
38
+ "tsconfig.json"
100
39
  ],
101
40
  "engines": {
102
41
  "node": ">=22.13.0"
@@ -107,41 +46,29 @@
107
46
  "typescript",
108
47
  "vue"
109
48
  ],
110
- "config": {
111
- "commitizen": {
112
- "path": "node_modules/cz-git",
113
- "czConfig": "./scripts/cz/.cz-config.cjs"
114
- }
115
- },
116
49
  "dependencies": {
117
50
  "@inquirer/checkbox": "5.2.6",
118
51
  "@inquirer/confirm": "6.3.3",
119
52
  "@inquirer/input": "5.1.7",
120
53
  "@inquirer/select": "5.2.6",
121
54
  "@intlify/eslint-plugin-vue-i18n": "4.5.1",
122
- "@typescript-eslint/eslint-plugin": "8.71.1",
123
- "@typescript-eslint/parser": "8.71.1",
55
+ "@typescript-eslint/eslint-plugin": "8.71.2",
56
+ "@typescript-eslint/parser": "8.71.2",
124
57
  "@vitest/eslint-plugin": "1.6.27",
125
58
  "@vue/eslint-config-prettier": "10.2.0",
126
- "@vue/eslint-config-typescript": "14.9.0",
127
- "@vue/tsconfig": "0.9.1",
128
59
  "eslint": "10.12.0",
129
- "eslint-plugin-prettier": "5.5.6",
60
+ "eslint-plugin-prettier": "5.5.7",
130
61
  "eslint-plugin-vue": "10.11.1",
131
62
  "eslint-plugin-vuejs-accessibility": "2.6.2",
132
- "fallow": "3.32.0",
63
+ "fallow": "3.33.1",
133
64
  "git-cliff": "2.14.2",
134
- "lefthook": "2.1.17",
135
- "npm-check-updates": "23.1.0",
136
- "prettier": "3.9.9",
65
+ "lefthook": "2.2.2",
66
+ "npm-check-updates": "23.1.1",
67
+ "prettier": "3.9.10",
137
68
  "tsx": "4.23.15",
138
69
  "typescript": "5.9.3",
139
70
  "vue-eslint-parser": "10.4.1",
140
- "vue-tsc": "3.3.12"
141
- },
142
- "devDependencies": {
143
- "cz-git": "1.14.0",
144
- "czg": "1.14.0"
71
+ "vue-tsc": "3.3.13"
145
72
  },
146
73
  "scripts": {
147
74
  "fgd-ui": "pnpm --dir electron/maintainer-ui start",
@@ -16,30 +16,30 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@tailwindcss/vite": "4.3.3",
19
- "@tanstack/vue-query": "5.104.1",
19
+ "@tanstack/vue-query": "5.104.3",
20
20
  "axios": "1.20.0",
21
21
  "content-disposition-header": "0.6.0",
22
22
  "date-fns": "4.4.0",
23
- "dotenv": "18.0.6",
24
- "fds-vue-core": "8.10.0",
25
- "pinia": "4.0.3",
23
+ "dotenv": "18.0.8",
24
+ "fds-vue-core": "8.11.0",
25
+ "pinia": "4.1.0",
26
26
  "qrcode.vue": "3.11.0",
27
- "vue": "3.5.43",
28
- "vue-i18n": "11.4.13",
29
- "vue-router": "5.3.1"
27
+ "vue": "3.5.44",
28
+ "vue-i18n": "11.4.14",
29
+ "vue-router": "5.4.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@intlify/unplugin-vue-i18n": "11.2.5",
33
- "@tanstack/vue-query-devtools": "6.3.1",
32
+ "@intlify/unplugin-vue-i18n": "11.2.6",
33
+ "@tanstack/vue-query-devtools": "6.3.3",
34
34
  "@types/node": "22.16.5",
35
- "fg-devkit": "1.22.0",
36
- "@vitejs/plugin-vue": "6.0.9",
35
+ "fg-devkit": "1.24.0",
36
+ "@vitejs/plugin-vue": "6.0.10",
37
37
  "tailwindcss": "4.3.3",
38
38
  "tsx": "4.23.15",
39
- "vite": "8.3.3",
39
+ "vite": "8.3.4",
40
40
  "vite-plugin-vue-inspector": "7.0.0"
41
41
  },
42
- "packageManager": "pnpm@12.9.1",
42
+ "packageManager": "pnpm@12.11.2",
43
43
  "engines": {
44
44
  "node": ">=22.13.0"
45
45
  }