includio-cms 0.14.3 → 0.14.5
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 +19 -0
- package/DOCS.md +1 -1
- package/ROADMAP.md +5 -1
- package/dist/cms/runtime/types.d.ts +4 -4
- package/dist/core/server/generator/fields.js +15 -10
- package/dist/db-postgres/schema/imageStyle.js +5 -4
- package/dist/db-postgres/schema/videoStyle.js +2 -4
- package/dist/paraglide/messages/_index.d.ts +3 -36
- package/dist/paraglide/messages/_index.js +3 -71
- package/dist/paraglide/messages/hello_world.d.ts +5 -0
- package/dist/paraglide/messages/hello_world.js +33 -0
- package/dist/paraglide/messages/login_hello.d.ts +16 -0
- package/dist/paraglide/messages/login_hello.js +34 -0
- package/dist/paraglide/messages/login_please_login.d.ts +16 -0
- package/dist/paraglide/messages/login_please_login.js +34 -0
- package/dist/updates/0.14.4/index.d.ts +2 -0
- package/dist/updates/0.14.4/index.js +11 -0
- package/dist/updates/0.14.5/index.d.ts +2 -0
- package/dist/updates/0.14.5/index.js +11 -0
- package/dist/updates/index.js +3 -1
- package/package.json +1 -1
- package/dist/paraglide/messages/en.d.ts +0 -5
- package/dist/paraglide/messages/en.js +0 -14
- package/dist/paraglide/messages/pl.d.ts +0 -5
- package/dist/paraglide/messages/pl.js +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to includio-cms are documented here.
|
|
4
4
|
Generated from `src/lib/updates/` — do not edit manually.
|
|
5
5
|
|
|
6
|
+
## 0.14.5 — 2026-04-10
|
|
7
|
+
|
|
8
|
+
Schema: unique indexes moved into Drizzle ORM definitions
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Image & video style unique indexes now defined in Drizzle schema (single source of truth, no more SQL-only index comments)
|
|
12
|
+
|
|
13
|
+
### Notes
|
|
14
|
+
|
|
15
|
+
No SQL migration needed — indexes already exist in DB. This only moves definitions from SQL comments into Drizzle ORM schema.
|
|
16
|
+
|
|
17
|
+
## 0.14.4 — 2026-03-31
|
|
18
|
+
|
|
19
|
+
Improved type generation — select/checkboxes emit union types, fields with defaultValue are non-optional
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- Type generation: select and checkboxes fields now emit string literal union types instead of generic `string`/`string[]`
|
|
23
|
+
- Type generation: fields with `defaultValue` are now treated as guaranteed (non-optional) in generated TypeScript types
|
|
24
|
+
|
|
6
25
|
## 0.14.3 — 2026-03-27
|
|
7
26
|
|
|
8
27
|
Background maintenance system — automatic style generation, poster regeneration, video transcoding, orphan cleanup on configurable schedule
|
package/DOCS.md
CHANGED
package/ROADMAP.md
CHANGED
|
@@ -276,6 +276,10 @@
|
|
|
276
276
|
- [x] `[feature]` `[P2]` Configurable maintenance interval via `media.maintenance` config <!-- files: src/lib/types/cms.ts -->
|
|
277
277
|
- [x] `[feature]` `[P1]` Maintenance page UI redesign — status banner, sections, SSE handler dedup <!-- files: src/lib/admin/client/maintenance/maintenance-page.svelte -->
|
|
278
278
|
|
|
279
|
+
## 0.14.5 — Schema cleanup
|
|
280
|
+
|
|
281
|
+
- [x] `[chore]` `[P2]` Move image & video style unique indexes into Drizzle ORM schema (single source of truth) <!-- files: src/lib/db-postgres/schema/imageStyle.ts, src/lib/db-postgres/schema/videoStyle.ts -->
|
|
282
|
+
|
|
279
283
|
## 0.15.0 — SEO module
|
|
280
284
|
|
|
281
285
|
- [ ] `[feature]` `[P1]` SERP preview + character limits for title/description <!-- files: src/lib/admin/components/fields/seo-field.svelte -->
|
|
@@ -300,7 +304,7 @@
|
|
|
300
304
|
## Backlog
|
|
301
305
|
|
|
302
306
|
- [ ] `[feature]` `[P1]` Server-side pagination API (formalize 0.1.0 fix)
|
|
303
|
-
- [
|
|
307
|
+
- [x] `[feature]` `[P1]` Improved type generation — union types for select/checkboxes, defaultValue makes fields non-optional <!-- files: src/lib/core/server/generator/ -->
|
|
304
308
|
- [ ] `[feature]` `[P1]` Proper filtering API (SQL-level, not JS post-query)
|
|
305
309
|
- [ ] `[feature]` `[P1]` Ban/unban UI — reason + expiry, `banUser`/`unbanUser` <!-- files: src/lib/admin/client/users/ban-user-dialog.svelte -->
|
|
306
310
|
- [ ] `[feature]` `[P1]` Impersonation UI — impersonate/stop bar <!-- files: src/lib/admin/client/users/impersonation-bar.svelte -->
|
|
@@ -44,7 +44,7 @@ export interface BlogPost {
|
|
|
44
44
|
slug?: string;
|
|
45
45
|
cover?: ImageFieldData | VideoFieldData | null;
|
|
46
46
|
rating: number;
|
|
47
|
-
category?:
|
|
47
|
+
category?: 'technology' | 'design' | 'business' | 'tutorial';
|
|
48
48
|
publishedAt?: string;
|
|
49
49
|
thumbnail?: ImageFieldData | VideoFieldData | null;
|
|
50
50
|
content?: StructuredContentDoc;
|
|
@@ -71,7 +71,7 @@ export interface Project {
|
|
|
71
71
|
_url?: string;
|
|
72
72
|
title: string;
|
|
73
73
|
description?: string;
|
|
74
|
-
status?:
|
|
74
|
+
status?: 'active' | 'completed' | 'archived';
|
|
75
75
|
startDate?: string;
|
|
76
76
|
url?: {
|
|
77
77
|
url: string;
|
|
@@ -140,12 +140,12 @@ export type FormEntryMap = {
|
|
|
140
140
|
};
|
|
141
141
|
export type CalloutBlockData = {
|
|
142
142
|
title?: string;
|
|
143
|
-
style?:
|
|
143
|
+
style?: 'info' | 'warning' | 'success';
|
|
144
144
|
};
|
|
145
145
|
export type CtaBlockData = {
|
|
146
146
|
buttonText?: string;
|
|
147
147
|
url?: string;
|
|
148
|
-
variant?:
|
|
148
|
+
variant?: 'primary' | 'secondary' | 'outline';
|
|
149
149
|
};
|
|
150
150
|
export type NoteBlockData = {
|
|
151
151
|
text?: string;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { toPascalCase } from './utils.js';
|
|
2
2
|
let _customFields = new Map();
|
|
3
|
+
function isGuaranteed(f) {
|
|
4
|
+
return !!(f.required || f.type === 'seo' || f.defaultValue !== undefined);
|
|
5
|
+
}
|
|
3
6
|
export function setGeneratorCustomFields(customFields) {
|
|
4
7
|
_customFields = customFields;
|
|
5
8
|
}
|
|
@@ -27,10 +30,12 @@ function getFieldTypeAsString(field) {
|
|
|
27
30
|
const name = toPascalCase(field.collection);
|
|
28
31
|
return field.multiple ? `${name}[]` : name;
|
|
29
32
|
}
|
|
30
|
-
case 'select':
|
|
31
|
-
|
|
33
|
+
case 'select': {
|
|
34
|
+
const union = field.options.map((opt) => `'${opt.value.trim()}'`).join(' | ');
|
|
35
|
+
return field.multiple ? `(${union})[]` : union;
|
|
36
|
+
}
|
|
32
37
|
case 'checkboxes':
|
|
33
|
-
return '
|
|
38
|
+
return `(${field.options.map((opt) => `'${opt.value.trim()}'`).join(' | ')})[]`;
|
|
34
39
|
case 'number':
|
|
35
40
|
return 'number';
|
|
36
41
|
case 'boolean':
|
|
@@ -38,7 +43,7 @@ function getFieldTypeAsString(field) {
|
|
|
38
43
|
case 'object':
|
|
39
44
|
return `{
|
|
40
45
|
slug: '${field.slug}';
|
|
41
|
-
data: {${field.fields.map((f) => ` ${f.slug}${f
|
|
46
|
+
data: {${field.fields.map((f) => ` ${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFieldTypeAsString(f)}`).join(';\n')}};
|
|
42
47
|
}`;
|
|
43
48
|
case 'blocks':
|
|
44
49
|
return `
|
|
@@ -47,7 +52,7 @@ function getFieldTypeAsString(field) {
|
|
|
47
52
|
.map((f) => `
|
|
48
53
|
{
|
|
49
54
|
slug: '${f.slug}';
|
|
50
|
-
data: {${f.fields.map((f) => ` ${f.slug}${f
|
|
55
|
+
data: {${f.fields.map((f) => ` ${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFieldTypeAsString(f)}`).join(';\n')}};
|
|
51
56
|
}
|
|
52
57
|
`)
|
|
53
58
|
.join(' | ')}
|
|
@@ -91,12 +96,12 @@ function getFieldTypeAsString(field) {
|
|
|
91
96
|
}
|
|
92
97
|
export function generateTsTypeFromFields(fields) {
|
|
93
98
|
return `{
|
|
94
|
-
${fields.map((f) => ` ${f.slug}${f
|
|
99
|
+
${fields.map((f) => ` ${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFieldTypeAsString(f)}`).join(';\n')};
|
|
95
100
|
}`;
|
|
96
101
|
}
|
|
97
102
|
export function generateFlatTsTypeFromFields(fields) {
|
|
98
103
|
return `{
|
|
99
|
-
${fields.map((f) => ` ${f.slug}${f
|
|
104
|
+
${fields.map((f) => ` ${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFlatFieldTypeAsString(f)}`).join(';\n')};
|
|
100
105
|
}`;
|
|
101
106
|
}
|
|
102
107
|
function getFlatFieldTypeAsString(field) {
|
|
@@ -114,7 +119,7 @@ function getFlatFieldTypeAsString(field) {
|
|
|
114
119
|
case 'object':
|
|
115
120
|
return `{
|
|
116
121
|
_slug: '${field.slug}';
|
|
117
|
-
${field.fields.map((f) => `${f.slug}${f
|
|
122
|
+
${field.fields.map((f) => `${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFlatFieldTypeAsString(f)}`).join(';\n')};
|
|
118
123
|
}`;
|
|
119
124
|
case 'blocks':
|
|
120
125
|
return `
|
|
@@ -123,7 +128,7 @@ function getFlatFieldTypeAsString(field) {
|
|
|
123
128
|
.map((f) => `
|
|
124
129
|
{
|
|
125
130
|
_slug: '${f.slug}';
|
|
126
|
-
${f.fields.map((f) => `${f.slug}${f
|
|
131
|
+
${f.fields.map((f) => `${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFlatFieldTypeAsString(f)}`).join(';\n')};
|
|
127
132
|
}
|
|
128
133
|
`)
|
|
129
134
|
.join(' | ')}
|
|
@@ -134,6 +139,6 @@ function getFlatFieldTypeAsString(field) {
|
|
|
134
139
|
}
|
|
135
140
|
export function generateInlineBlockTypeString(block) {
|
|
136
141
|
return `{
|
|
137
|
-
${block.fields.map((f) => ` ${f.slug}${f
|
|
142
|
+
${block.fields.map((f) => ` ${f.slug}${isGuaranteed(f) ? '' : '?'}: ${getFlatFieldTypeAsString(f)}`).join(';\n')};
|
|
138
143
|
}`;
|
|
139
144
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { boolean, integer, pgTable, real, text, uuid } from 'drizzle-orm/pg-core';
|
|
1
|
+
import { boolean, integer, pgTable, real, text, uniqueIndex, uuid } from 'drizzle-orm/pg-core';
|
|
2
|
+
import { sql } from 'drizzle-orm';
|
|
2
3
|
export const imageStylesTable = pgTable('image_styles', {
|
|
3
4
|
id: uuid('id').primaryKey().defaultRandom(),
|
|
4
5
|
mediaFileId: uuid('media_file_id').notNull(),
|
|
@@ -11,6 +12,6 @@ export const imageStylesTable = pgTable('image_styles', {
|
|
|
11
12
|
media: text('media'),
|
|
12
13
|
mimeType: text('mime_type').notNull(),
|
|
13
14
|
aspectRatio: real('aspect_ratio')
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
}, (t) => [
|
|
16
|
+
uniqueIndex('image_styles_unique_key').on(t.mediaFileId, t.name, sql `COALESCE(${t.width}, 0)`, sql `COALESCE(${t.height}, 0)`, sql `COALESCE(${t.quality}, 0)`, sql `COALESCE(${t.aspectRatio}, 0)`)
|
|
17
|
+
]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { integer, pgTable, text, timestamp, uuid } from 'drizzle-orm/pg-core';
|
|
1
|
+
import { integer, pgTable, text, timestamp, uniqueIndex, uuid } from 'drizzle-orm/pg-core';
|
|
2
2
|
export const videoStylesTable = pgTable('video_styles', {
|
|
3
3
|
id: uuid('id').primaryKey().defaultRandom(),
|
|
4
4
|
mediaFileId: uuid('media_file_id').notNull(),
|
|
@@ -13,6 +13,4 @@ export const videoStylesTable = pgTable('video_styles', {
|
|
|
13
13
|
status: text('status').notNull().default('pending'),
|
|
14
14
|
error: text('error'),
|
|
15
15
|
createdAt: timestamp('created_at').defaultNow()
|
|
16
|
-
});
|
|
17
|
-
// NOTE: unique index on (media_file_id, name) is managed via SQL migration
|
|
18
|
-
// in src/lib/updates/0.14.0/index.ts
|
|
16
|
+
}, (t) => [uniqueIndex('video_styles_unique_key').on(t.mediaFileId, t.name)]);
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
locale?: "en" | "pl";
|
|
5
|
-
}): string;
|
|
6
|
-
/**
|
|
7
|
-
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
8
|
-
*
|
|
9
|
-
* - Changing this function will be over-written by the next build.
|
|
10
|
-
*
|
|
11
|
-
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
12
|
-
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
13
|
-
*
|
|
14
|
-
* @param {{}} inputs
|
|
15
|
-
* @param {{ locale?: "en" | "pl" }} options
|
|
16
|
-
* @returns {string}
|
|
17
|
-
*/
|
|
18
|
-
declare function login_hello(inputs?: {}, options?: {
|
|
19
|
-
locale?: "en" | "pl";
|
|
20
|
-
}): string;
|
|
21
|
-
/**
|
|
22
|
-
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
23
|
-
*
|
|
24
|
-
* - Changing this function will be over-written by the next build.
|
|
25
|
-
*
|
|
26
|
-
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
27
|
-
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
28
|
-
*
|
|
29
|
-
* @param {{}} inputs
|
|
30
|
-
* @param {{ locale?: "en" | "pl" }} options
|
|
31
|
-
* @returns {string}
|
|
32
|
-
*/
|
|
33
|
-
declare function login_please_login(inputs?: {}, options?: {
|
|
34
|
-
locale?: "en" | "pl";
|
|
35
|
-
}): string;
|
|
36
|
-
export { login_hello as login.hello, login_please_login as login.please_login };
|
|
1
|
+
export * from "./hello_world.js";
|
|
2
|
+
export * from "./login_hello.js";
|
|
3
|
+
export * from "./login_please_login.js";
|
|
@@ -1,72 +1,4 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
7
|
-
*
|
|
8
|
-
* - Changing this function will be over-written by the next build.
|
|
9
|
-
*
|
|
10
|
-
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
11
|
-
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
12
|
-
*
|
|
13
|
-
* @param {{ name: NonNullable<unknown> }} inputs
|
|
14
|
-
* @param {{ locale?: "en" | "pl" }} options
|
|
15
|
-
* @returns {string}
|
|
16
|
-
*/
|
|
17
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
18
|
-
export const hello_world = (inputs, options = {}) => {
|
|
19
|
-
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
20
|
-
return /** @type {any} */ (globalThis).__paraglide_ssr.hello_world(inputs)
|
|
21
|
-
}
|
|
22
|
-
const locale = options.locale ?? getLocale()
|
|
23
|
-
trackMessageCall("hello_world", locale)
|
|
24
|
-
if (locale === "en") return en.hello_world(inputs)
|
|
25
|
-
return pl.hello_world(inputs)
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
29
|
-
*
|
|
30
|
-
* - Changing this function will be over-written by the next build.
|
|
31
|
-
*
|
|
32
|
-
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
33
|
-
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
34
|
-
*
|
|
35
|
-
* @param {{}} inputs
|
|
36
|
-
* @param {{ locale?: "en" | "pl" }} options
|
|
37
|
-
* @returns {string}
|
|
38
|
-
*/
|
|
39
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
40
|
-
const login_hello = (inputs = {}, options = {}) => {
|
|
41
|
-
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
42
|
-
return /** @type {any} */ (globalThis).__paraglide_ssr.login_hello(inputs)
|
|
43
|
-
}
|
|
44
|
-
const locale = options.locale ?? getLocale()
|
|
45
|
-
trackMessageCall("login_hello", locale)
|
|
46
|
-
if (locale === "en") return en.login_hello(inputs)
|
|
47
|
-
return pl.login_hello(inputs)
|
|
48
|
-
};
|
|
49
|
-
export { login_hello as "login.hello" }
|
|
50
|
-
/**
|
|
51
|
-
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
52
|
-
*
|
|
53
|
-
* - Changing this function will be over-written by the next build.
|
|
54
|
-
*
|
|
55
|
-
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
56
|
-
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
57
|
-
*
|
|
58
|
-
* @param {{}} inputs
|
|
59
|
-
* @param {{ locale?: "en" | "pl" }} options
|
|
60
|
-
* @returns {string}
|
|
61
|
-
*/
|
|
62
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
63
|
-
const login_please_login = (inputs = {}, options = {}) => {
|
|
64
|
-
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
65
|
-
return /** @type {any} */ (globalThis).__paraglide_ssr.login_please_login(inputs)
|
|
66
|
-
}
|
|
67
|
-
const locale = options.locale ?? getLocale()
|
|
68
|
-
trackMessageCall("login_please_login", locale)
|
|
69
|
-
if (locale === "en") return en.login_please_login(inputs)
|
|
70
|
-
return pl.login_please_login(inputs)
|
|
71
|
-
};
|
|
72
|
-
export { login_please_login as "login.please_login" }
|
|
2
|
+
export * from './hello_world.js'
|
|
3
|
+
export * from './login_hello.js'
|
|
4
|
+
export * from './login_please_login.js'
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
const en_hello_world = /** @type {(inputs: { name: NonNullable<unknown> }) => string} */ (i) => {
|
|
5
|
+
return `Hello, ${i.name} from en!`
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const pl_hello_world = /** @type {(inputs: { name: NonNullable<unknown> }) => string} */ (i) => {
|
|
9
|
+
return `Hello, ${i.name} from pl!`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
14
|
+
*
|
|
15
|
+
* - Changing this function will be over-written by the next build.
|
|
16
|
+
*
|
|
17
|
+
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
18
|
+
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
19
|
+
*
|
|
20
|
+
* @param {{ name: NonNullable<unknown> }} inputs
|
|
21
|
+
* @param {{ locale?: "en" | "pl" }} options
|
|
22
|
+
* @returns {string}
|
|
23
|
+
*/
|
|
24
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
25
|
+
export const hello_world = (inputs, options = {}) => {
|
|
26
|
+
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
27
|
+
return /** @type {any} */ (globalThis).__paraglide_ssr.hello_world(inputs)
|
|
28
|
+
}
|
|
29
|
+
const locale = options.locale ?? getLocale()
|
|
30
|
+
trackMessageCall("hello_world", locale)
|
|
31
|
+
if (locale === "en") return en_hello_world(inputs)
|
|
32
|
+
return pl_hello_world(inputs)
|
|
33
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { login_hello as login.hello };
|
|
2
|
+
/**
|
|
3
|
+
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
4
|
+
*
|
|
5
|
+
* - Changing this function will be over-written by the next build.
|
|
6
|
+
*
|
|
7
|
+
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
8
|
+
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
9
|
+
*
|
|
10
|
+
* @param {{}} inputs
|
|
11
|
+
* @param {{ locale?: "en" | "pl" }} options
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
declare function login_hello(inputs?: {}, options?: {
|
|
15
|
+
locale?: "en" | "pl";
|
|
16
|
+
}): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
const en_login_hello = /** @type {(inputs: {}) => string} */ () => {
|
|
5
|
+
return `Welcome back`
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const pl_login_hello = /** @type {(inputs: {}) => string} */ () => {
|
|
9
|
+
return `Witaj ponownie`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
14
|
+
*
|
|
15
|
+
* - Changing this function will be over-written by the next build.
|
|
16
|
+
*
|
|
17
|
+
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
18
|
+
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
19
|
+
*
|
|
20
|
+
* @param {{}} inputs
|
|
21
|
+
* @param {{ locale?: "en" | "pl" }} options
|
|
22
|
+
* @returns {string}
|
|
23
|
+
*/
|
|
24
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
25
|
+
const login_hello = (inputs = {}, options = {}) => {
|
|
26
|
+
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
27
|
+
return /** @type {any} */ (globalThis).__paraglide_ssr.login_hello(inputs)
|
|
28
|
+
}
|
|
29
|
+
const locale = options.locale ?? getLocale()
|
|
30
|
+
trackMessageCall("login_hello", locale)
|
|
31
|
+
if (locale === "en") return en_login_hello(inputs)
|
|
32
|
+
return pl_login_hello(inputs)
|
|
33
|
+
};
|
|
34
|
+
export { login_hello as "login.hello" }
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { login_please_login as login.please_login };
|
|
2
|
+
/**
|
|
3
|
+
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
4
|
+
*
|
|
5
|
+
* - Changing this function will be over-written by the next build.
|
|
6
|
+
*
|
|
7
|
+
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
8
|
+
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
9
|
+
*
|
|
10
|
+
* @param {{}} inputs
|
|
11
|
+
* @param {{ locale?: "en" | "pl" }} options
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
declare function login_please_login(inputs?: {}, options?: {
|
|
15
|
+
locale?: "en" | "pl";
|
|
16
|
+
}): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
const en_login_please_login = /** @type {(inputs: {}) => string} */ () => {
|
|
5
|
+
return `Login to your account`
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const pl_login_please_login = /** @type {(inputs: {}) => string} */ () => {
|
|
9
|
+
return `Zaloguj się na swoje konto`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
|
|
14
|
+
*
|
|
15
|
+
* - Changing this function will be over-written by the next build.
|
|
16
|
+
*
|
|
17
|
+
* - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
|
|
18
|
+
* use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
|
|
19
|
+
*
|
|
20
|
+
* @param {{}} inputs
|
|
21
|
+
* @param {{ locale?: "en" | "pl" }} options
|
|
22
|
+
* @returns {string}
|
|
23
|
+
*/
|
|
24
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
25
|
+
const login_please_login = (inputs = {}, options = {}) => {
|
|
26
|
+
if (experimentalMiddlewareLocaleSplitting && isServer === false) {
|
|
27
|
+
return /** @type {any} */ (globalThis).__paraglide_ssr.login_please_login(inputs)
|
|
28
|
+
}
|
|
29
|
+
const locale = options.locale ?? getLocale()
|
|
30
|
+
trackMessageCall("login_please_login", locale)
|
|
31
|
+
if (locale === "en") return en_login_please_login(inputs)
|
|
32
|
+
return pl_login_please_login(inputs)
|
|
33
|
+
};
|
|
34
|
+
export { login_please_login as "login.please_login" }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const update = {
|
|
2
|
+
version: '0.14.4',
|
|
3
|
+
date: '2026-03-31',
|
|
4
|
+
description: 'Improved type generation — select/checkboxes emit union types, fields with defaultValue are non-optional',
|
|
5
|
+
features: [
|
|
6
|
+
'Type generation: select and checkboxes fields now emit string literal union types instead of generic `string`/`string[]`',
|
|
7
|
+
'Type generation: fields with `defaultValue` are now treated as guaranteed (non-optional) in generated TypeScript types'
|
|
8
|
+
],
|
|
9
|
+
fixes: [],
|
|
10
|
+
breakingChanges: []
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const update = {
|
|
2
|
+
version: '0.14.5',
|
|
3
|
+
date: '2026-04-10',
|
|
4
|
+
description: 'Schema: unique indexes moved into Drizzle ORM definitions',
|
|
5
|
+
features: [
|
|
6
|
+
'Image & video style unique indexes now defined in Drizzle schema (single source of truth, no more SQL-only index comments)'
|
|
7
|
+
],
|
|
8
|
+
fixes: [],
|
|
9
|
+
breakingChanges: [],
|
|
10
|
+
notes: 'No SQL migration needed — indexes already exist in DB. This only moves definitions from SQL comments into Drizzle ORM schema.'
|
|
11
|
+
};
|
package/dist/updates/index.js
CHANGED
|
@@ -41,7 +41,9 @@ import { update as update0140 } from './0.14.0/index.js';
|
|
|
41
41
|
import { update as update0141 } from './0.14.1/index.js';
|
|
42
42
|
import { update as update0142 } from './0.14.2/index.js';
|
|
43
43
|
import { update as update0143 } from './0.14.3/index.js';
|
|
44
|
-
|
|
44
|
+
import { update as update0144 } from './0.14.4/index.js';
|
|
45
|
+
import { update as update0145 } from './0.14.5/index.js';
|
|
46
|
+
export const updates = [update0065, update0066, update0067, update0068, update0069, update010, update011, update012, update013, update014, update015, update020, update022, update050, update051, update052, update053, update054, update055, update056, update057, update058, update060, update061, update062, update070, update071, update072, update073, update080, update090, update0100, update0110, update0120, update0130, update0131, update0132, update0133, update0134, update0140, update0141, update0142, update0143, update0144, update0145];
|
|
45
47
|
export const getUpdatesFrom = (fromVersion) => {
|
|
46
48
|
const fromParts = fromVersion.split('.').map(Number);
|
|
47
49
|
return updates.filter((update) => {
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export const hello_world = /** @type {(inputs: { name: NonNullable<unknown> }) => string} */ (i) => {
|
|
5
|
-
return `Hello, ${i.name} from en!`
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const login_hello = /** @type {(inputs: {}) => string} */ () => {
|
|
9
|
-
return `Welcome back`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const login_please_login = /** @type {(inputs: {}) => string} */ () => {
|
|
13
|
-
return `Login to your account`
|
|
14
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export const hello_world = /** @type {(inputs: { name: NonNullable<unknown> }) => string} */ (i) => {
|
|
5
|
-
return `Hello, ${i.name} from pl!`
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const login_hello = /** @type {(inputs: {}) => string} */ () => {
|
|
9
|
-
return `Witaj ponownie`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const login_please_login = /** @type {(inputs: {}) => string} */ () => {
|
|
13
|
-
return `Zaloguj się na swoje konto`
|
|
14
|
-
};
|