From d46cacb55e74b43d3947141c02646255eb14e155 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Mon, 22 Sep 2025 20:59:04 +0200 Subject: [PATCH] Update sealgen - postponed fields/controls getters --- package-lock.json | 72 +++++++++---------- package.json | 4 +- .../routes/admin/navbar/[id]/edit.form.ts | 7 +- src/back/routes/admin/navbar/create.form.ts | 4 +- src/back/routes/admin/pages/[id]/edit.form.ts | 4 +- src/back/routes/admin/pages/create.form.ts | 4 +- src/back/routes/admin/password.form.ts | 4 +- src/back/routes/login.form.ts | 4 +- src/back/routes/signIn.form.ts | 4 +- 9 files changed, 51 insertions(+), 56 deletions(-) diff --git a/package-lock.json b/package-lock.json index db6a6d7..efdf53e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@sealcode/file-manager": "^1.0.2", "@sealcode/jdd": "^0.8.0", "@sealcode/jdd-editor": "^0.2.1", - "@sealcode/sealgen": "^0.19.0", + "@sealcode/sealgen": "^0.19.6", "@sealcode/simplemde": "^1.12.1", "@sealcode/sortable": "^0.0.1", "@sealcode/ts-predicates": "^0.6.2", @@ -44,7 +44,7 @@ "nyc": "^17.1.0", "object-path": "^0.11.8", "qs": "^6.12.0", - "sealious": "^0.21.20", + "sealious": "^0.21.23", "slug": "^9.1.0", "stimulus": "^3.2.2", "tempstream": "^0.4.6", @@ -1618,16 +1618,16 @@ "integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg==" }, "node_modules/@sealcode/sealgen": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.0.tgz", - "integrity": "sha512-fnHg/1b+w4E0G4VUSk+Qh+rsHneh1F9LSXZBnQW3fF1+WdSUWgeaVMqUPpN6CXNmze1k7dMWQIjdXAS/AYgpFA==", - "license": "ISC", + "version": "0.19.6", + "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.6.tgz", + "integrity": "sha512-dUccXEGSTlZrkrzkta2cObQUDBzbTrfYLZkbZer6E9nyYKB/7Jbj03R+C3wGxfwvrsewGfHiar+v8JHjOiguyQ==", "dependencies": { "@koa/router": "^12.0.1", "@sealcode/file-manager": "^1.0.2", "@sealcode/ts-predicates": "^0.4.3", "chokidar": "^3.6.0", "colord": "^2.9.3", + "country-codes-list": "^2.0.0", "deepmerge": "^4.3.1", "esbuild": "^0.20.0", "escape-goat": "^4.0.0", @@ -1640,7 +1640,7 @@ "locreq": "^3.0.0", "md5": "^2.3.0", "merge": "^2.1.1", - "prettier": "^2.7.1", + "prettier": "^3.6.2", "prompts": "^2.4.2", "recursive-readdir": "^2.2.3", "tempfile": "^5.0.0", @@ -1656,7 +1656,7 @@ "peerDependencies": { "koa": "^2.13.0", "koa-responsive-image-router": "^0.2.24", - "sealious": "^0.21", + "sealious": "^0.21.20", "stimulus": "^3.2.2" } }, @@ -1665,20 +1665,6 @@ "resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz", "integrity": "sha512-UNSEacu7Ye8q0N8AJCJy37oJvv3w2OXKGkUnP7xO5lOY9DQviDPRDQhVaZdJ3/xMzXLm4UE3389ihctrPaov/A==" }, - "node_modules/@sealcode/sealgen/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/@sealcode/simplemde": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@sealcode/simplemde/-/simplemde-1.12.1.tgz", @@ -3998,6 +3984,11 @@ } } }, + "node_modules/country-codes-list": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/country-codes-list/-/country-codes-list-2.0.0.tgz", + "integrity": "sha512-KZqq/LBdCD76hQCa6nOx0bA/nIjYly1OtV8+Bbt/4SW+mJEqGk7oZHjUj7PRrV0gXJJKs6Tv2cIntFdofBByvA==" + }, "node_modules/create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -11356,7 +11347,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", - "dev": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -12226,9 +12216,9 @@ "peer": true }, "node_modules/sealious": { - "version": "0.21.20", - "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.20.tgz", - "integrity": "sha512-O4ac6jHkL3tP8UcN/3ybmOHMSo17IRaAFt5/FDixw+6upcQw8QeXuQgf7DR8gKdmNbNCiWLjqGoksw6GeQFWgg==", + "version": "0.21.23", + "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.23.tgz", + "integrity": "sha512-Vl/Ms+L00ucjEl8/eE4+otLMrWaeVgspn1xCRT4SXh+dRz9DID84ydspqVpyyUf7hUiHuX8zlfdn1FwgCQ0lPQ==", "dependencies": { "@koa/router": "^12.0.1", "@sealcode/file-manager": "^1.0.1", @@ -12256,6 +12246,7 @@ "color": "latest", "color-hash": "^1.0.3", "commonmark": "^0.31.0", + "country-codes-list": "^2.0.0", "cron": "^2.1.0", "csv-stringify": "^6.4.5", "deepmerge": "^4.2.2", @@ -16304,15 +16295,16 @@ "integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg==" }, "@sealcode/sealgen": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.0.tgz", - "integrity": "sha512-fnHg/1b+w4E0G4VUSk+Qh+rsHneh1F9LSXZBnQW3fF1+WdSUWgeaVMqUPpN6CXNmze1k7dMWQIjdXAS/AYgpFA==", + "version": "0.19.6", + "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.6.tgz", + "integrity": "sha512-dUccXEGSTlZrkrzkta2cObQUDBzbTrfYLZkbZer6E9nyYKB/7Jbj03R+C3wGxfwvrsewGfHiar+v8JHjOiguyQ==", "requires": { "@koa/router": "^12.0.1", "@sealcode/file-manager": "^1.0.2", "@sealcode/ts-predicates": "^0.4.3", "chokidar": "^3.6.0", "colord": "^2.9.3", + "country-codes-list": "^2.0.0", "deepmerge": "^4.3.1", "esbuild": "^0.20.0", "escape-goat": "^4.0.0", @@ -16325,7 +16317,7 @@ "locreq": "^3.0.0", "md5": "^2.3.0", "merge": "^2.1.1", - "prettier": "^2.7.1", + "prettier": "^3.6.2", "prompts": "^2.4.2", "recursive-readdir": "^2.2.3", "tempfile": "^5.0.0", @@ -16340,11 +16332,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz", "integrity": "sha512-UNSEacu7Ye8q0N8AJCJy37oJvv3w2OXKGkUnP7xO5lOY9DQviDPRDQhVaZdJ3/xMzXLm4UE3389ihctrPaov/A==" - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" } } }, @@ -18148,6 +18135,11 @@ "parse-json": "^5.2.0" } }, + "country-codes-list": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/country-codes-list/-/country-codes-list-2.0.0.tgz", + "integrity": "sha512-KZqq/LBdCD76hQCa6nOx0bA/nIjYly1OtV8+Bbt/4SW+mJEqGk7oZHjUj7PRrV0gXJJKs6Tv2cIntFdofBByvA==" + }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -23607,8 +23599,7 @@ "prettier": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", - "dev": true + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -24243,9 +24234,9 @@ } }, "sealious": { - "version": "0.21.20", - "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.20.tgz", - "integrity": "sha512-O4ac6jHkL3tP8UcN/3ybmOHMSo17IRaAFt5/FDixw+6upcQw8QeXuQgf7DR8gKdmNbNCiWLjqGoksw6GeQFWgg==", + "version": "0.21.23", + "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.23.tgz", + "integrity": "sha512-Vl/Ms+L00ucjEl8/eE4+otLMrWaeVgspn1xCRT4SXh+dRz9DID84ydspqVpyyUf7hUiHuX8zlfdn1FwgCQ0lPQ==", "requires": { "@koa/router": "^12.0.1", "@sealcode/file-manager": "^1.0.1", @@ -24273,6 +24264,7 @@ "color": "latest", "color-hash": "^1.0.3", "commonmark": "^0.31.0", + "country-codes-list": "^2.0.0", "cron": "^2.1.0", "csv-stringify": "^6.4.5", "deepmerge": "^4.2.2", diff --git a/package.json b/package.json index ea2d2d9..fef362d 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@sealcode/file-manager": "^1.0.2", "@sealcode/jdd": "^0.8.0", "@sealcode/jdd-editor": "^0.2.1", - "@sealcode/sealgen": "^0.19.0", + "@sealcode/sealgen": "^0.19.6", "@sealcode/simplemde": "^1.12.1", "@sealcode/sortable": "^0.0.1", "@sealcode/ts-predicates": "^0.6.2", @@ -117,7 +117,7 @@ "nyc": "^17.1.0", "object-path": "^0.11.8", "qs": "^6.12.0", - "sealious": "^0.21.20", + "sealious": "^0.21.23", "slug": "^9.1.0", "stimulus": "^3.2.2", "tempstream": "^0.4.6", diff --git a/src/back/routes/admin/navbar/[id]/edit.form.ts b/src/back/routes/admin/navbar/[id]/edit.form.ts index 59f6b8c..77e13dd 100644 --- a/src/back/routes/admin/navbar/[id]/edit.form.ts +++ b/src/back/routes/admin/navbar/[id]/edit.form.ts @@ -20,9 +20,12 @@ export const NavbarLinksCRUDEditShape = fieldsToShape(fields); export default new (class NavbarLinksCRUDEditForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [new Controls.FormHeader("Edit NavbarLinks"), ...NavbarLinksFormControls]; + getControls = () => [ + new Controls.FormHeader("Edit NavbarLinks"), + ...NavbarLinksFormControls, + ]; async getID(ctx: Context): Promise { // trying to automatically guess which param is the one that represents the ID diff --git a/src/back/routes/admin/navbar/create.form.ts b/src/back/routes/admin/navbar/create.form.ts index 49d40ed..e448c51 100644 --- a/src/back/routes/admin/navbar/create.form.ts +++ b/src/back/routes/admin/navbar/create.form.ts @@ -21,9 +21,9 @@ export const NavbarLinksCRUDCreateShape = fieldsToShape(fields); export default new (class NavbarLinksCRUDCreateForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [ + getControls = () => [ new Controls.FormHeader("Create NavbarLinks"), ...NavbarLinksFormControls, ]; diff --git a/src/back/routes/admin/pages/[id]/edit.form.ts b/src/back/routes/admin/pages/[id]/edit.form.ts index cd348e8..8bb91ee 100644 --- a/src/back/routes/admin/pages/[id]/edit.form.ts +++ b/src/back/routes/admin/pages/[id]/edit.form.ts @@ -20,9 +20,9 @@ export const PagesCRUDEditShape = fieldsToShape(fields); export default new (class PagesCRUDEditForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [new Controls.FormHeader("Edit Pages"), ...PagesFormControls]; + getControls = () => [new Controls.FormHeader("Edit Pages"), ...PagesFormControls]; async getID(ctx: Context): Promise { const param_name = "id"; diff --git a/src/back/routes/admin/pages/create.form.ts b/src/back/routes/admin/pages/create.form.ts index 2c6d22d..c347fdf 100644 --- a/src/back/routes/admin/pages/create.form.ts +++ b/src/back/routes/admin/pages/create.form.ts @@ -21,9 +21,9 @@ export const PagesCRUDCreateShape = fieldsToShape(fields); export default new (class PagesCRUDCreateForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [new Controls.FormHeader("Create Pages"), ...PagesFormControls]; + getControls = () => [new Controls.FormHeader("Create Pages"), ...PagesFormControls]; async onSubmit(ctx: Context) { const data = await this.getParsedValues(ctx); diff --git a/src/back/routes/admin/password.form.ts b/src/back/routes/admin/password.form.ts index 0577761..308af9d 100644 --- a/src/back/routes/admin/password.form.ts +++ b/src/back/routes/admin/password.form.ts @@ -16,9 +16,9 @@ export const ResetPasswordShape = fieldsToShape(fields); export default new (class ResetPasswordForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [ + getControls = () => [ new Controls.HTML("decoration", /* HTML */ `

Change password

`), fields.password.getControl(), ]; diff --git a/src/back/routes/login.form.ts b/src/back/routes/login.form.ts index 0810d56..eb3c9cf 100644 --- a/src/back/routes/login.form.ts +++ b/src/back/routes/login.form.ts @@ -19,9 +19,9 @@ export const LoginShape = fieldsToShape(fields); export default new (class LoginForm extends Form { defaultSuccessMessage = "Logged in"; - fields = fields; + getFields = () => fields; - controls = [ + getControls = () => [ new Controls.FormHeader(`Log in`), new Controls.SimpleInput(fields.username, { label: "Username:", diff --git a/src/back/routes/signIn.form.ts b/src/back/routes/signIn.form.ts index 87fc26c..afcec37 100644 --- a/src/back/routes/signIn.form.ts +++ b/src/back/routes/signIn.form.ts @@ -22,9 +22,9 @@ export const SignInShape = fieldsToShape(fields); export default new (class SignInForm extends Form { defaultSuccessMessage = "Formularz wypełniony poprawnie"; - fields = fields; + getFields = () => fields; - controls = [ + getControls = () => [ new Controls.SimpleInput(fields.username, { label: "Username:", type: "text" }), new Controls.SimpleInput(fields.password, { label: "Password:",