@baseplate-dev/core-generators 0.6.4 → 0.6.6
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/CHANGELOG.md +102 -0
- package/dist/constants/node.d.ts +2 -2
- package/dist/constants/node.js +2 -2
- package/dist/generators/docker/docker-compose/postgres.js +2 -2
- package/dist/generators/docker/docker-compose/redis.js +1 -1
- package/dist/renderers/typescript/fragments/creators.d.ts +7 -0
- package/dist/renderers/typescript/fragments/creators.d.ts.map +1 -1
- package/dist/renderers/typescript/fragments/creators.js +15 -0
- package/dist/renderers/typescript/fragments/creators.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,107 @@
|
|
|
1
1
|
# @baseplate-dev/core-generators
|
|
2
2
|
|
|
3
|
+
## 0.6.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies []:
|
|
8
|
+
- @baseplate-dev/sync@0.6.6
|
|
9
|
+
- @baseplate-dev/utils@0.6.6
|
|
10
|
+
|
|
11
|
+
## 0.6.5
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#855](https://github.com/halfdomelabs/baseplate/pull/855) [`87a2218`](https://github.com/halfdomelabs/baseplate/commit/87a2218266f957bb4beacd6b13cb3d610fd15a41) Thanks [@kingston](https://github.com/kingston)! - Upgrade Node.js from 22.18.0 to 24.14.0 and pnpm from 10.27.0 to 10.32.1
|
|
16
|
+
|
|
17
|
+
- [#865](https://github.com/halfdomelabs/baseplate/pull/865) [`c7131f5`](https://github.com/halfdomelabs/baseplate/commit/c7131f5caebda203ece99d30fcf2d58ead3abdb8) Thanks [@kingston](https://github.com/kingston)! - Upgrade PostgreSQL from 17.5 to 18.3 and Redis from 8.0 to 8.6 in Docker Compose generators
|
|
18
|
+
|
|
19
|
+
## Breaking: Volume mount path changed
|
|
20
|
+
|
|
21
|
+
PostgreSQL 18 changed its default data directory from `/var/lib/postgresql/data` to `/var/lib/postgresql/<major>/docker` and placed a symlink at the old path. Mounting a volume directly to `/var/lib/postgresql/data` on Postgres 18+ will cause a container startup error:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
error mounting "..." to rootfs at "/var/lib/postgresql/data": no such file or directory
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
To align with this change, the Docker Compose volume mount has been updated from `db-data:/var/lib/postgresql/data` to `db-data:/var/lib/postgresql`. This means **existing dev databases will not be found** after upgrading and you must re-create or migrate your database.
|
|
28
|
+
|
|
29
|
+
## Upgrading your dev database
|
|
30
|
+
|
|
31
|
+
After syncing, your `docker-compose.yml` will reference `postgres:18.3-alpine` with the new volume mount path. You have three options:
|
|
32
|
+
|
|
33
|
+
### Option 1: Auto-upgrade with pgautoupgrade (in-place upgrade)
|
|
34
|
+
|
|
35
|
+
Use the [`pgautoupgrade`](https://github.com/pgautoupgrade/docker-pgautoupgrade) Docker image to upgrade the data directory in-place:
|
|
36
|
+
1. Stop your containers:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cd docker && docker compose down
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. Temporarily swap the image in `docker-compose.yml`:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
image: pgautoupgrade/pgautoupgrade:18-alpine
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
3. Start the container and watch for the upgrade:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
docker compose up # wait for "Upgrade to PostgreSQL 18.3 complete." message
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
4. Once complete, stop and revert the image:
|
|
55
|
+
```bash
|
|
56
|
+
docker compose down
|
|
57
|
+
```
|
|
58
|
+
Change the image back in `docker-compose.yml`:
|
|
59
|
+
```yaml
|
|
60
|
+
image: postgres:18.3-alpine
|
|
61
|
+
```
|
|
62
|
+
```bash
|
|
63
|
+
docker compose up
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Option 2: Fresh start (for dev databases with no important data)
|
|
67
|
+
|
|
68
|
+
Delete the old volume and start fresh:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cd docker
|
|
72
|
+
docker compose down -v # removes containers AND volumes
|
|
73
|
+
docker compose up # starts fresh with Postgres 18
|
|
74
|
+
cd ../apps/backend
|
|
75
|
+
pnpm db:migrate # re-apply all migrations
|
|
76
|
+
pnpm db:seed # re-seed if applicable
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Option 3: Dump and restore (preserves data)
|
|
80
|
+
|
|
81
|
+
If you need to keep your data but don't want to use pgautoupgrade:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
cd docker
|
|
85
|
+
|
|
86
|
+
# 1. While still on the OLD docker-compose.yml, dump your data
|
|
87
|
+
docker compose exec db pg_dumpall -U postgres > backup.sql
|
|
88
|
+
|
|
89
|
+
# 2. Now sync your project to get the new docker-compose.yml
|
|
90
|
+
# ... run baseplate sync ...
|
|
91
|
+
|
|
92
|
+
# 3. Remove old volume and start with new config
|
|
93
|
+
docker compose down -v
|
|
94
|
+
docker compose up -d
|
|
95
|
+
|
|
96
|
+
# 4. Restore your data
|
|
97
|
+
docker compose exec -T db psql -U postgres < backup.sql
|
|
98
|
+
rm backup.sql
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
- Updated dependencies [[`8dcf7b3`](https://github.com/halfdomelabs/baseplate/commit/8dcf7b3c909672487bad61b7a4465d1860092363)]:
|
|
102
|
+
- @baseplate-dev/utils@0.6.5
|
|
103
|
+
- @baseplate-dev/sync@0.6.5
|
|
104
|
+
|
|
3
105
|
## 0.6.4
|
|
4
106
|
|
|
5
107
|
### Patch Changes
|
package/dist/constants/node.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const NODE_VERSION = "
|
|
2
|
-
export declare const PNPM_VERSION = "10.
|
|
1
|
+
export declare const NODE_VERSION = "24.14.0";
|
|
2
|
+
export declare const PNPM_VERSION = "10.32.1";
|
|
3
3
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/constants/node.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const NODE_VERSION = '
|
|
2
|
-
export const PNPM_VERSION = '10.
|
|
1
|
+
export const NODE_VERSION = '24.14.0';
|
|
2
|
+
export const PNPM_VERSION = '10.32.1';
|
|
3
3
|
//# sourceMappingURL=node.js.map
|
|
@@ -2,7 +2,7 @@ export function generatePostgresDockerCompose(config) {
|
|
|
2
2
|
return {
|
|
3
3
|
services: [
|
|
4
4
|
` db:
|
|
5
|
-
image: postgres:
|
|
5
|
+
image: postgres:18.3-alpine
|
|
6
6
|
container_name: \${COMPOSE_PROJECT_NAME:-${config.projectName}}-db
|
|
7
7
|
restart: on-failure
|
|
8
8
|
security_opt:
|
|
@@ -14,7 +14,7 @@ export function generatePostgresDockerCompose(config) {
|
|
|
14
14
|
ports:
|
|
15
15
|
- "\${POSTGRES_PORT:-${config.port}}:5432"
|
|
16
16
|
volumes:
|
|
17
|
-
- db-data:/var/lib/postgresql
|
|
17
|
+
- db-data:/var/lib/postgresql
|
|
18
18
|
networks:
|
|
19
19
|
- backend
|
|
20
20
|
logging:
|
|
@@ -18,6 +18,13 @@ export declare function tsHoistedFragment(key: string, fragment: TsCodeFragment
|
|
|
18
18
|
* @returns The positioned hoisted fragment.
|
|
19
19
|
*/
|
|
20
20
|
export declare function tsPositionedHoistedFragment(key: string, fragment: TsCodeFragment | string, position: TsHoistedFragmentPosition, imports?: TsImportDeclaration[] | TsImportDeclaration): TsPositionedHoistedFragment;
|
|
21
|
+
/**
|
|
22
|
+
* Returns a new fragment with additional hoisted fragments appended.
|
|
23
|
+
* @param fragment - The base fragment to extend.
|
|
24
|
+
* @param hoistedFragments - The hoisted fragments to append.
|
|
25
|
+
* @returns A new fragment with the hoisted fragments added.
|
|
26
|
+
*/
|
|
27
|
+
export declare function withHoistedFragments(fragment: TsCodeFragment, hoistedFragments: TsHoistedFragment[]): TsCodeFragment;
|
|
21
28
|
/**
|
|
22
29
|
* Create a code fragment.
|
|
23
30
|
* @param contents - The contents of the code fragment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/fragments/creators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GAAG,MAAM,EACjC,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EACrD,EAAE,gBAAgB,EAAE,GAAE,qBAA0B,GAC/C,iBAAiB,CAanB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GAAG,MAAM,EACjC,QAAQ,EAAE,yBAAyB,EACnC,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,GACpD,2BAA2B,CAa7B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EACrD,EAAE,gBAAgB,EAAE,GAAE,qBAA0B,GAC/C,cAAc,CAMhB"}
|
|
1
|
+
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/fragments/creators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GAAG,MAAM,EACjC,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EACrD,EAAE,gBAAgB,EAAE,GAAE,qBAA0B,GAC/C,iBAAiB,CAanB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GAAG,MAAM,EACjC,QAAQ,EAAE,yBAAyB,EACnC,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,GACpD,2BAA2B,CAa7B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,iBAAiB,EAAE,GACpC,cAAc,CAQhB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EACrD,EAAE,gBAAgB,EAAE,GAAE,qBAA0B,GAC/C,cAAc,CAMhB"}
|
|
@@ -36,6 +36,21 @@ export function tsPositionedHoistedFragment(key, fragment, position, imports) {
|
|
|
36
36
|
position,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns a new fragment with additional hoisted fragments appended.
|
|
41
|
+
* @param fragment - The base fragment to extend.
|
|
42
|
+
* @param hoistedFragments - The hoisted fragments to append.
|
|
43
|
+
* @returns A new fragment with the hoisted fragments added.
|
|
44
|
+
*/
|
|
45
|
+
export function withHoistedFragments(fragment, hoistedFragments) {
|
|
46
|
+
return {
|
|
47
|
+
...fragment,
|
|
48
|
+
hoistedFragments: [
|
|
49
|
+
...(fragment.hoistedFragments ?? []),
|
|
50
|
+
...hoistedFragments,
|
|
51
|
+
],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
39
54
|
/**
|
|
40
55
|
* Create a code fragment.
|
|
41
56
|
* @param contents - The contents of the code fragment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/fragments/creators.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,QAAiC,EACjC,OAAqD,EACrD,EAAE,gBAAgB,KAA4B,EAAE;IAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACvD,gBAAgB,EAAE;YAChB,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACxC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAW,EACX,QAAiC,EACjC,QAAmC,EACnC,OAAqD;IAErD,iGAAiG;IACjG,gGAAgG;IAChG,WAAW;IACX,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC5C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,OAAqD,EACrD,EAAE,gBAAgB,KAA4B,EAAE;IAEhD,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"creators.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/fragments/creators.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,QAAiC,EACjC,OAAqD,EACrD,EAAE,gBAAgB,KAA4B,EAAE;IAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACvD,gBAAgB,EAAE;YAChB,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACxC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAW,EACX,QAAiC,EACjC,QAAmC,EACnC,OAAqD;IAErD,iGAAiG;IACjG,gGAAgG;IAChG,WAAW;IACX,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC5C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,gBAAqC;IAErC,OAAO;QACL,GAAG,QAAQ;QACX,gBAAgB,EAAE;YAChB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpC,GAAG,gBAAgB;SACpB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,OAAqD,EACrD,EAAE,gBAAgB,KAA4B,EAAE;IAEhD,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baseplate-dev/core-generators",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.6",
|
|
4
4
|
"description": "Core generators for Baseplate",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"baseplate",
|
|
@@ -62,25 +62,25 @@
|
|
|
62
62
|
"semver": "^7.5.4",
|
|
63
63
|
"sort-package-json": "2.10.1",
|
|
64
64
|
"ts-morph": "27.0.2",
|
|
65
|
-
"yaml": "2.8.
|
|
65
|
+
"yaml": "2.8.2",
|
|
66
66
|
"zod": "^4.3.6",
|
|
67
|
-
"@baseplate-dev/sync": "0.6.
|
|
68
|
-
"@baseplate-dev/utils": "0.6.
|
|
67
|
+
"@baseplate-dev/sync": "0.6.6",
|
|
68
|
+
"@baseplate-dev/utils": "0.6.6"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@types/node": "^
|
|
71
|
+
"@types/node": "^24.12.0",
|
|
72
72
|
"@types/prettier": "^2.7.3",
|
|
73
73
|
"@types/semver": "^7.5.0",
|
|
74
74
|
"concurrently": "9.2.1",
|
|
75
75
|
"cpx2": "8.0.0",
|
|
76
76
|
"eslint": "9.39.2",
|
|
77
|
-
"oxlint": "1.
|
|
77
|
+
"oxlint": "1.56.0",
|
|
78
78
|
"typescript": "5.9.3",
|
|
79
79
|
"vitest": "4.0.16",
|
|
80
|
-
"@baseplate-dev/tools": "0.6.
|
|
80
|
+
"@baseplate-dev/tools": "0.6.6"
|
|
81
81
|
},
|
|
82
82
|
"engines": {
|
|
83
|
-
"node": "^
|
|
83
|
+
"node": "^24.0.0"
|
|
84
84
|
},
|
|
85
85
|
"volta": {
|
|
86
86
|
"extends": "../../package.json"
|