coalesce-mcp 6.5.0 → 6.5.1
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.
- package/dist/CHANGELOG.md +19 -2
- package/dist/template/.github/workflows/build-test-and-deploy.yml +9 -7
- package/dist/template/.template.config/template.json +1 -0
- package/dist/template/.vscode/settings.json +1 -1
- package/dist/template/AGENTS.md +3 -3
- package/dist/template/Coalesce.Starter.Vue.Web/Program.cs +1 -0
- package/dist/template/Coalesce.Starter.Vue.Web/package.json +7 -9
- package/dist/template/Coalesce.Starter.Vue.Web/vite.config.ts +15 -2
- package/dist/template/Directory.Build.props +1 -1
- package/dist/template/azure-pipelines.yml +11 -17
- package/dist/template/package.json +8 -0
- package/dist/template/pnpm-lock.yaml +3803 -0
- package/dist/template/pnpm-workspace.yaml +15 -0
- package/dist/tools/upgrade-prompt.d.ts.map +1 -1
- package/dist/tools/upgrade-prompt.js +61 -47
- package/dist/tools/upgrade-prompt.js.map +1 -1
- package/package.json +1 -1
- package/dist/template/Coalesce.Starter.Vue.Web/package-lock.json +0 -5921
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# 6.5.1
|
|
2
|
+
- Broad improvements to accessibility issues identified by axe-core across all components.
|
|
3
|
+
- `vue`, `date-fns`, and `date-fns-tz` are now peer dependencies instead of direct dependencies of `coalesce-vue` and `coalesce-vue-vuetify3`.
|
|
4
|
+
- Fix self-referential foreign key infinite recursion in code generation.
|
|
5
|
+
- Fix Vuetify 4 issues:
|
|
6
|
+
- Margin issue in `c-admin-audit-log-page` `pre` elements
|
|
7
|
+
- Color issue in `c-time-picker`.
|
|
8
|
+
|
|
9
|
+
- The template now uses pnpm instead of npm for better DX. To migrate an existing project:
|
|
10
|
+
1. Install pnpm: `npm install -g pnpm`
|
|
11
|
+
2. Delete `package-lock.json`, and copy `pnpm-workspace.yaml` and the root `package.json` from the template into your solution root (next to your `.slnx`). Add your web project as a package in the workspace (`packages: - YourProject.Web`).
|
|
12
|
+
3. Run `pnpm install`.
|
|
13
|
+
4. In `Program.cs`, add `c.PackageManagerCommand = "pnpm";` to `UseViteDevelopmentServer` options.
|
|
14
|
+
5. Add any phantom dependencies that pnpm's strict `node_modules` structure reveals (e.g. `date-fns`, `date-fns-tz`). Build errors or runtime import failures will indicate which ones are missing.
|
|
15
|
+
6. Update CI/CD scripts to use `pnpm` instead of `npm`. Add a step to install pnpm. Run `pnpm install --frozen-lockfile` from the solution root. Replace other `npm` commands with `pnpm`.
|
|
16
|
+
|
|
1
17
|
# 6.5.0
|
|
2
18
|
- Support enums annotated with `[JsonConverter(typeof(JsonStringEnumConverter))]` as string-serialized enums. These are generated as string-valued TypeScript enums and serialized as strings over the wire.
|
|
3
19
|
- Added `getPromise()` method to API callers, returning the current invocation's promise (or `undefined` if idle).
|
|
@@ -7,12 +23,13 @@
|
|
|
7
23
|
- `UseViteDevelopmentServer` now exposes a `PackageManagerCommand` option (defaults to "npm") to configure which package manager runs the dev script. Improved error messages when the configured package manager is not installed.
|
|
8
24
|
- Fix: `no-sort-in-computed` eslint rule false positive when sorting a locally-declared array variable inside `computed()`.
|
|
9
25
|
- Fix: Handle the possibility that Audit logging's `AuditInterceptor` can end up singleton under specific EF usage patterns (e.g. `AddDbContextFactory` + not using `OnConfiguring`).
|
|
26
|
+
- Re-exported `isAxiosError` from `coalesce-vue` to avoid phantom dependency on `axios`.
|
|
10
27
|
|
|
11
28
|
## Template Changes
|
|
12
29
|
- Added Vuetify 4 CSS layer ordering to `index.html` to work around Vite 8/Rolldown CSS ordering bugs.
|
|
13
|
-
- Replaced deprecated `typeface-roboto` with `@fontsource/roboto/latin.css` and `@fontsource/roboto/latin-italic.css`.
|
|
30
|
+
- Replaced deprecated `typeface-roboto` package with `@fontsource/roboto/latin.css` and `@fontsource/roboto/latin-italic.css`.
|
|
14
31
|
- The first-party password/passkey login flow is now two-stage: enter username first, then choose between password, passkey, or a one-time email code. When `Passkeys` is enabled, users who sign in with password or email code are then prompted to create a passkey.
|
|
15
|
-
- `Role.Permissions` are no longer EF-mapped as enums. The EF property is now `List<string>`, with a `[NotMapped]
|
|
32
|
+
- `Role.Permissions` are no longer EF-mapped as enums. The EF property is now `List<string>`, with a `[NotMapped] PermissionEnums` wrapper that drops unrecognized values. This prevents `InvalidOperationException` when a `Permission` enum member is removed but old values remain in the database.
|
|
16
33
|
- Added rate limiting to authentication pages (sign-in, register, forgot password, reset password, email confirmation, external login) to mitigate brute-force abuse.
|
|
17
34
|
|
|
18
35
|
# 6.4.0
|
|
@@ -49,9 +49,11 @@ jobs:
|
|
|
49
49
|
with:
|
|
50
50
|
node-version: 24.x
|
|
51
51
|
|
|
52
|
-
- name:
|
|
53
|
-
run: npm
|
|
54
|
-
|
|
52
|
+
- name: Install pnpm
|
|
53
|
+
run: npm install -g pnpm@11
|
|
54
|
+
|
|
55
|
+
- name: pnpm install
|
|
56
|
+
run: pnpm install --frozen-lockfile
|
|
55
57
|
|
|
56
58
|
- name: Restore Nuget packages
|
|
57
59
|
run: dotnet restore
|
|
@@ -60,12 +62,12 @@ jobs:
|
|
|
60
62
|
run: dotnet coalesce --what-if --verify
|
|
61
63
|
working-directory: Coalesce.Starter.Vue.Web
|
|
62
64
|
|
|
63
|
-
- name:
|
|
64
|
-
run:
|
|
65
|
+
- name: pnpm lint
|
|
66
|
+
run: pnpm lint
|
|
65
67
|
working-directory: Coalesce.Starter.Vue.Web
|
|
66
68
|
|
|
67
|
-
- name:
|
|
68
|
-
run:
|
|
69
|
+
- name: pnpm build
|
|
70
|
+
run: pnpm build
|
|
69
71
|
working-directory: Coalesce.Starter.Vue.Web
|
|
70
72
|
|
|
71
73
|
- name: dotnet build
|
package/dist/template/AGENTS.md
CHANGED
|
@@ -10,13 +10,13 @@ An `IntelliTect Coalesce`–based project. Projects:
|
|
|
10
10
|
- Data: EF Core entity models, services, business logic, etc
|
|
11
11
|
- Data.Test: TUnit automated tests for the Data project.
|
|
12
12
|
- Migrations: EF Core Migrations assembly. Create and manage migrations here, e.g. `dotnet ef migrations add MigrationName`. Run `dotnet ef` in this project's working directory, don't pass extra args like startup-project to `dotnet ef` calls.
|
|
13
|
-
- Web: ASP.NET Core server. Serves both API endpoints and frontend Vue assets. Automatically launches Vite dev server - don't do `
|
|
13
|
+
- Web: ASP.NET Core server. Serves both API endpoints and frontend Vue assets. Automatically launches Vite dev server - don't do `pnpm dev` manually.
|
|
14
14
|
- Web/src: Vite, Vue 3, Vuetify 4, and Coalesce for data binding and API access.
|
|
15
15
|
|
|
16
16
|
- Coalesce generates DTOs, controllers, and TypeScript from your models. After making changes to your models, invoke code generation with the `coalesce_generate` tool. The `coalesce.json` file is in the workspace root.
|
|
17
|
-
- If you run tests with `
|
|
17
|
+
- If you run tests with `pnpm test`, pass `--run` to avoid running in interactive mode. E.g. `pnpm test --run`.
|
|
18
18
|
- In Vue files, you don't need to add import statements for components nor composables from `vue`, `vue-router`, or those defined by the project's source code - they will be auto-imported by Vite.
|
|
19
|
-
- Do not run `
|
|
19
|
+
- Do not run `pnpm build` to validate changes unless the user asks because this ruins HMR if the app is running. Instead, validate frontend changes by checking for problems with `read/problems`.
|
|
20
20
|
- Use SCSS for all styles - `lang="scss"` in .vue files.
|
|
21
21
|
- Use `date-fns` for date manipulation and formatting, or `.$display(propName)` on Coalesce ViewModel instances, or `c-display` in Vue templates.
|
|
22
22
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
|
+
"packageManager": "pnpm@11.0.8",
|
|
6
7
|
"scripts": {
|
|
7
8
|
"dev": "vite",
|
|
8
9
|
"build": "vite build && vue-tsc --noEmit",
|
|
@@ -13,21 +14,18 @@
|
|
|
13
14
|
"coalesce": "dotnet coalesce"
|
|
14
15
|
},
|
|
15
16
|
"dependencies": {
|
|
17
|
+
"@fontsource/roboto": "^5.2.6",
|
|
16
18
|
"@fortawesome/fontawesome-free": "^7.1.0",
|
|
17
19
|
"@microsoft/applicationinsights-web": "^3.4.1",
|
|
18
20
|
"@vueuse/core": "^14.3.0",
|
|
19
|
-
"coalesce-vue": "6.5.
|
|
20
|
-
"coalesce-vue-vuetify3": "6.5.
|
|
21
|
-
"
|
|
21
|
+
"coalesce-vue": "6.5.1",
|
|
22
|
+
"coalesce-vue-vuetify3": "6.5.1",
|
|
23
|
+
"date-fns": "^4.0.0",
|
|
24
|
+
"date-fns-tz": "^3.0.0",
|
|
22
25
|
"vue": "^3.5.33",
|
|
23
26
|
"vue-router": "^5.0.6",
|
|
24
27
|
"vuetify": "^4.0.6"
|
|
25
28
|
},
|
|
26
|
-
"overrides": {
|
|
27
|
-
"js-beautify": {
|
|
28
|
-
"glob": "13.0.6"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
29
|
"devDependencies": {
|
|
32
30
|
"@types/node": "^24.0.0",
|
|
33
31
|
"@vitejs/plugin-vue": "^6.0.6",
|
|
@@ -37,7 +35,7 @@
|
|
|
37
35
|
"@vue/test-utils": "^2.4.10",
|
|
38
36
|
"eslint": "^10.3.0",
|
|
39
37
|
"eslint-config-prettier": "^10.1.8",
|
|
40
|
-
"eslint-plugin-coalesce": "6.5.
|
|
38
|
+
"eslint-plugin-coalesce": "6.5.1",
|
|
41
39
|
"eslint-plugin-prettier": "^5.5.4",
|
|
42
40
|
"eslint-plugin-vue": "^10.9.0",
|
|
43
41
|
"jsdom": "^29.1.1",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { fileURLToPath, URL } from "node:url";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
2
3
|
|
|
3
4
|
import { defineConfig } from "vite";
|
|
4
5
|
|
|
@@ -24,11 +25,16 @@ export default defineConfig({
|
|
|
24
25
|
test: /\.s?css|type=style/,
|
|
25
26
|
priority: 30,
|
|
26
27
|
},
|
|
28
|
+
//#if AppInsights
|
|
29
|
+
{ name: "appI", test: /applicationinsights/, priority: 20 },
|
|
30
|
+
//#endif
|
|
27
31
|
{
|
|
28
|
-
name(moduleId) {
|
|
32
|
+
name(moduleId: string) {
|
|
29
33
|
// Suggest that top level node_modules folders should have their own chunk.
|
|
30
34
|
return (
|
|
31
|
-
/node_modules[/\\]([
|
|
35
|
+
/node_modules[/\\](?:\.pnpm[/\\])?(@?[^@/\\]+)/i.exec(
|
|
36
|
+
moduleId,
|
|
37
|
+
)?.[1] ?? null
|
|
32
38
|
);
|
|
33
39
|
},
|
|
34
40
|
},
|
|
@@ -90,6 +96,13 @@ export default defineConfig({
|
|
|
90
96
|
},
|
|
91
97
|
|
|
92
98
|
server: {
|
|
99
|
+
fs: {
|
|
100
|
+
allow: [
|
|
101
|
+
// Workaround https://github.com/vitejs/vite/issues/22405
|
|
102
|
+
execSync("pnpm store path", { encoding: "utf8" }).trim(),
|
|
103
|
+
".",
|
|
104
|
+
],
|
|
105
|
+
},
|
|
93
106
|
warmup: {
|
|
94
107
|
clientFiles: ["./src/views/**/*.vue"],
|
|
95
108
|
},
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
|
|
9
9
|
|
|
10
|
-
<CoalesceVersion>6.5.
|
|
10
|
+
<CoalesceVersion>6.5.1</CoalesceVersion>
|
|
11
11
|
<!-- Disable Source Link attribute in Debug to avoid hot reload issues.
|
|
12
12
|
In Release, the source revision is included for app update detection. -->
|
|
13
13
|
<IncludeSourceRevisionInInformationalVersion Condition="'$(Configuration)' == 'Debug'">false</IncludeSourceRevisionInInformationalVersion>
|
|
@@ -22,11 +22,11 @@ steps:
|
|
|
22
22
|
inputs:
|
|
23
23
|
version: "24.x"
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
displayName:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
- script: npm install -g pnpm@11
|
|
26
|
+
displayName: Install pnpm
|
|
27
|
+
|
|
28
|
+
- script: pnpm install --frozen-lockfile
|
|
29
|
+
displayName: pnpm install
|
|
30
30
|
|
|
31
31
|
- task: DotNetCoreCLI@2
|
|
32
32
|
inputs:
|
|
@@ -42,19 +42,13 @@ steps:
|
|
|
42
42
|
workingDirectory: "$(webDir)"
|
|
43
43
|
displayName: Check Coalesce has run
|
|
44
44
|
|
|
45
|
-
-
|
|
46
|
-
displayName:
|
|
47
|
-
|
|
48
|
-
command: "custom"
|
|
49
|
-
workingDir: $(webDir)
|
|
50
|
-
customCommand: "run lint"
|
|
45
|
+
- script: pnpm lint
|
|
46
|
+
displayName: pnpm lint
|
|
47
|
+
workingDirectory: $(webDir)
|
|
51
48
|
|
|
52
|
-
-
|
|
53
|
-
displayName:
|
|
54
|
-
|
|
55
|
-
command: "custom"
|
|
56
|
-
workingDir: $(webDir)
|
|
57
|
-
customCommand: "run build"
|
|
49
|
+
- script: pnpm build
|
|
50
|
+
displayName: pnpm build
|
|
51
|
+
workingDirectory: $(webDir)
|
|
58
52
|
|
|
59
53
|
- task: DotNetCoreCLI@2
|
|
60
54
|
displayName: dotnet build
|