Update sealgen - postponed fields/controls getters

This commit is contained in:
Kuba Orlik 2025-09-22 20:59:04 +02:00
parent bc7b747c98
commit d46cacb55e
9 changed files with 51 additions and 56 deletions

72
package-lock.json generated
View File

@ -17,7 +17,7 @@
"@sealcode/file-manager": "^1.0.2", "@sealcode/file-manager": "^1.0.2",
"@sealcode/jdd": "^0.8.0", "@sealcode/jdd": "^0.8.0",
"@sealcode/jdd-editor": "^0.2.1", "@sealcode/jdd-editor": "^0.2.1",
"@sealcode/sealgen": "^0.19.0", "@sealcode/sealgen": "^0.19.6",
"@sealcode/simplemde": "^1.12.1", "@sealcode/simplemde": "^1.12.1",
"@sealcode/sortable": "^0.0.1", "@sealcode/sortable": "^0.0.1",
"@sealcode/ts-predicates": "^0.6.2", "@sealcode/ts-predicates": "^0.6.2",
@ -44,7 +44,7 @@
"nyc": "^17.1.0", "nyc": "^17.1.0",
"object-path": "^0.11.8", "object-path": "^0.11.8",
"qs": "^6.12.0", "qs": "^6.12.0",
"sealious": "^0.21.20", "sealious": "^0.21.23",
"slug": "^9.1.0", "slug": "^9.1.0",
"stimulus": "^3.2.2", "stimulus": "^3.2.2",
"tempstream": "^0.4.6", "tempstream": "^0.4.6",
@ -1618,16 +1618,16 @@
"integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg==" "integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg=="
}, },
"node_modules/@sealcode/sealgen": { "node_modules/@sealcode/sealgen": {
"version": "0.19.0", "version": "0.19.6",
"resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.0.tgz", "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.6.tgz",
"integrity": "sha512-fnHg/1b+w4E0G4VUSk+Qh+rsHneh1F9LSXZBnQW3fF1+WdSUWgeaVMqUPpN6CXNmze1k7dMWQIjdXAS/AYgpFA==", "integrity": "sha512-dUccXEGSTlZrkrzkta2cObQUDBzbTrfYLZkbZer6E9nyYKB/7Jbj03R+C3wGxfwvrsewGfHiar+v8JHjOiguyQ==",
"license": "ISC",
"dependencies": { "dependencies": {
"@koa/router": "^12.0.1", "@koa/router": "^12.0.1",
"@sealcode/file-manager": "^1.0.2", "@sealcode/file-manager": "^1.0.2",
"@sealcode/ts-predicates": "^0.4.3", "@sealcode/ts-predicates": "^0.4.3",
"chokidar": "^3.6.0", "chokidar": "^3.6.0",
"colord": "^2.9.3", "colord": "^2.9.3",
"country-codes-list": "^2.0.0",
"deepmerge": "^4.3.1", "deepmerge": "^4.3.1",
"esbuild": "^0.20.0", "esbuild": "^0.20.0",
"escape-goat": "^4.0.0", "escape-goat": "^4.0.0",
@ -1640,7 +1640,7 @@
"locreq": "^3.0.0", "locreq": "^3.0.0",
"md5": "^2.3.0", "md5": "^2.3.0",
"merge": "^2.1.1", "merge": "^2.1.1",
"prettier": "^2.7.1", "prettier": "^3.6.2",
"prompts": "^2.4.2", "prompts": "^2.4.2",
"recursive-readdir": "^2.2.3", "recursive-readdir": "^2.2.3",
"tempfile": "^5.0.0", "tempfile": "^5.0.0",
@ -1656,7 +1656,7 @@
"peerDependencies": { "peerDependencies": {
"koa": "^2.13.0", "koa": "^2.13.0",
"koa-responsive-image-router": "^0.2.24", "koa-responsive-image-router": "^0.2.24",
"sealious": "^0.21", "sealious": "^0.21.20",
"stimulus": "^3.2.2" "stimulus": "^3.2.2"
} }
}, },
@ -1665,20 +1665,6 @@
"resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz", "resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz",
"integrity": "sha512-UNSEacu7Ye8q0N8AJCJy37oJvv3w2OXKGkUnP7xO5lOY9DQviDPRDQhVaZdJ3/xMzXLm4UE3389ihctrPaov/A==" "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": { "node_modules/@sealcode/simplemde": {
"version": "1.12.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@sealcode/simplemde/-/simplemde-1.12.1.tgz", "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": { "node_modules/create-error-class": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
@ -11356,7 +11347,6 @@
"version": "3.6.2", "version": "3.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"dev": true,
"bin": { "bin": {
"prettier": "bin/prettier.cjs" "prettier": "bin/prettier.cjs"
}, },
@ -12226,9 +12216,9 @@
"peer": true "peer": true
}, },
"node_modules/sealious": { "node_modules/sealious": {
"version": "0.21.20", "version": "0.21.23",
"resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.20.tgz", "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.23.tgz",
"integrity": "sha512-O4ac6jHkL3tP8UcN/3ybmOHMSo17IRaAFt5/FDixw+6upcQw8QeXuQgf7DR8gKdmNbNCiWLjqGoksw6GeQFWgg==", "integrity": "sha512-Vl/Ms+L00ucjEl8/eE4+otLMrWaeVgspn1xCRT4SXh+dRz9DID84ydspqVpyyUf7hUiHuX8zlfdn1FwgCQ0lPQ==",
"dependencies": { "dependencies": {
"@koa/router": "^12.0.1", "@koa/router": "^12.0.1",
"@sealcode/file-manager": "^1.0.1", "@sealcode/file-manager": "^1.0.1",
@ -12256,6 +12246,7 @@
"color": "latest", "color": "latest",
"color-hash": "^1.0.3", "color-hash": "^1.0.3",
"commonmark": "^0.31.0", "commonmark": "^0.31.0",
"country-codes-list": "^2.0.0",
"cron": "^2.1.0", "cron": "^2.1.0",
"csv-stringify": "^6.4.5", "csv-stringify": "^6.4.5",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
@ -16304,15 +16295,16 @@
"integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg==" "integrity": "sha512-pDsGlk2KokQkwzsJDBUWJFDRpEoxxth6TMQGDJyCTmWnd1Vn+cQb5moXDKaf7cXnWb9Y6QtdNX/fPzM/3RH2Cg=="
}, },
"@sealcode/sealgen": { "@sealcode/sealgen": {
"version": "0.19.0", "version": "0.19.6",
"resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.0.tgz", "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.19.6.tgz",
"integrity": "sha512-fnHg/1b+w4E0G4VUSk+Qh+rsHneh1F9LSXZBnQW3fF1+WdSUWgeaVMqUPpN6CXNmze1k7dMWQIjdXAS/AYgpFA==", "integrity": "sha512-dUccXEGSTlZrkrzkta2cObQUDBzbTrfYLZkbZer6E9nyYKB/7Jbj03R+C3wGxfwvrsewGfHiar+v8JHjOiguyQ==",
"requires": { "requires": {
"@koa/router": "^12.0.1", "@koa/router": "^12.0.1",
"@sealcode/file-manager": "^1.0.2", "@sealcode/file-manager": "^1.0.2",
"@sealcode/ts-predicates": "^0.4.3", "@sealcode/ts-predicates": "^0.4.3",
"chokidar": "^3.6.0", "chokidar": "^3.6.0",
"colord": "^2.9.3", "colord": "^2.9.3",
"country-codes-list": "^2.0.0",
"deepmerge": "^4.3.1", "deepmerge": "^4.3.1",
"esbuild": "^0.20.0", "esbuild": "^0.20.0",
"escape-goat": "^4.0.0", "escape-goat": "^4.0.0",
@ -16325,7 +16317,7 @@
"locreq": "^3.0.0", "locreq": "^3.0.0",
"md5": "^2.3.0", "md5": "^2.3.0",
"merge": "^2.1.1", "merge": "^2.1.1",
"prettier": "^2.7.1", "prettier": "^3.6.2",
"prompts": "^2.4.2", "prompts": "^2.4.2",
"recursive-readdir": "^2.2.3", "recursive-readdir": "^2.2.3",
"tempfile": "^5.0.0", "tempfile": "^5.0.0",
@ -16340,11 +16332,6 @@
"version": "0.4.3", "version": "0.4.3",
"resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz", "resolved": "https://registry.npmjs.org/@sealcode/ts-predicates/-/ts-predicates-0.4.3.tgz",
"integrity": "sha512-UNSEacu7Ye8q0N8AJCJy37oJvv3w2OXKGkUnP7xO5lOY9DQviDPRDQhVaZdJ3/xMzXLm4UE3389ihctrPaov/A==" "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" "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": { "create-error-class": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
@ -23607,8 +23599,7 @@
"prettier": { "prettier": {
"version": "3.6.2", "version": "3.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="
"dev": true
}, },
"prettier-linter-helpers": { "prettier-linter-helpers": {
"version": "1.0.0", "version": "1.0.0",
@ -24243,9 +24234,9 @@
} }
}, },
"sealious": { "sealious": {
"version": "0.21.20", "version": "0.21.23",
"resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.20.tgz", "resolved": "https://registry.npmjs.org/sealious/-/sealious-0.21.23.tgz",
"integrity": "sha512-O4ac6jHkL3tP8UcN/3ybmOHMSo17IRaAFt5/FDixw+6upcQw8QeXuQgf7DR8gKdmNbNCiWLjqGoksw6GeQFWgg==", "integrity": "sha512-Vl/Ms+L00ucjEl8/eE4+otLMrWaeVgspn1xCRT4SXh+dRz9DID84ydspqVpyyUf7hUiHuX8zlfdn1FwgCQ0lPQ==",
"requires": { "requires": {
"@koa/router": "^12.0.1", "@koa/router": "^12.0.1",
"@sealcode/file-manager": "^1.0.1", "@sealcode/file-manager": "^1.0.1",
@ -24273,6 +24264,7 @@
"color": "latest", "color": "latest",
"color-hash": "^1.0.3", "color-hash": "^1.0.3",
"commonmark": "^0.31.0", "commonmark": "^0.31.0",
"country-codes-list": "^2.0.0",
"cron": "^2.1.0", "cron": "^2.1.0",
"csv-stringify": "^6.4.5", "csv-stringify": "^6.4.5",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",

View File

@ -90,7 +90,7 @@
"@sealcode/file-manager": "^1.0.2", "@sealcode/file-manager": "^1.0.2",
"@sealcode/jdd": "^0.8.0", "@sealcode/jdd": "^0.8.0",
"@sealcode/jdd-editor": "^0.2.1", "@sealcode/jdd-editor": "^0.2.1",
"@sealcode/sealgen": "^0.19.0", "@sealcode/sealgen": "^0.19.6",
"@sealcode/simplemde": "^1.12.1", "@sealcode/simplemde": "^1.12.1",
"@sealcode/sortable": "^0.0.1", "@sealcode/sortable": "^0.0.1",
"@sealcode/ts-predicates": "^0.6.2", "@sealcode/ts-predicates": "^0.6.2",
@ -117,7 +117,7 @@
"nyc": "^17.1.0", "nyc": "^17.1.0",
"object-path": "^0.11.8", "object-path": "^0.11.8",
"qs": "^6.12.0", "qs": "^6.12.0",
"sealious": "^0.21.20", "sealious": "^0.21.23",
"slug": "^9.1.0", "slug": "^9.1.0",
"stimulus": "^3.2.2", "stimulus": "^3.2.2",
"tempstream": "^0.4.6", "tempstream": "^0.4.6",

View File

@ -20,9 +20,12 @@ export const NavbarLinksCRUDEditShape = fieldsToShape(fields);
export default new (class NavbarLinksCRUDEditForm extends Form<typeof fields, void> { export default new (class NavbarLinksCRUDEditForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; 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<string> { async getID(ctx: Context): Promise<string> {
// trying to automatically guess which param is the one that represents the ID // trying to automatically guess which param is the one that represents the ID

View File

@ -21,9 +21,9 @@ export const NavbarLinksCRUDCreateShape = fieldsToShape(fields);
export default new (class NavbarLinksCRUDCreateForm extends Form<typeof fields, void> { export default new (class NavbarLinksCRUDCreateForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; defaultSuccessMessage = "Formularz wypełniony poprawnie";
fields = fields; getFields = () => fields;
controls = [ getControls = () => [
new Controls.FormHeader("Create NavbarLinks"), new Controls.FormHeader("Create NavbarLinks"),
...NavbarLinksFormControls, ...NavbarLinksFormControls,
]; ];

View File

@ -20,9 +20,9 @@ export const PagesCRUDEditShape = fieldsToShape(fields);
export default new (class PagesCRUDEditForm extends Form<typeof fields, void> { export default new (class PagesCRUDEditForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; 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<string> { async getID(ctx: Context): Promise<string> {
const param_name = "id"; const param_name = "id";

View File

@ -21,9 +21,9 @@ export const PagesCRUDCreateShape = fieldsToShape(fields);
export default new (class PagesCRUDCreateForm extends Form<typeof fields, void> { export default new (class PagesCRUDCreateForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; 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) { async onSubmit(ctx: Context) {
const data = await this.getParsedValues(ctx); const data = await this.getParsedValues(ctx);

View File

@ -16,9 +16,9 @@ export const ResetPasswordShape = fieldsToShape(fields);
export default new (class ResetPasswordForm extends Form<typeof fields, void> { export default new (class ResetPasswordForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; defaultSuccessMessage = "Formularz wypełniony poprawnie";
fields = fields; getFields = () => fields;
controls = [ getControls = () => [
new Controls.HTML("decoration", /* HTML */ `<h1>Change password</h1>`), new Controls.HTML("decoration", /* HTML */ `<h1>Change password</h1>`),
fields.password.getControl(), fields.password.getControl(),
]; ];

View File

@ -19,9 +19,9 @@ export const LoginShape = fieldsToShape(fields);
export default new (class LoginForm extends Form<typeof fields, void> { export default new (class LoginForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Logged in"; defaultSuccessMessage = "Logged in";
fields = fields; getFields = () => fields;
controls = [ getControls = () => [
new Controls.FormHeader(`Log in`), new Controls.FormHeader(`Log in`),
new Controls.SimpleInput(fields.username, { new Controls.SimpleInput(fields.username, {
label: "Username:", label: "Username:",

View File

@ -22,9 +22,9 @@ export const SignInShape = fieldsToShape(fields);
export default new (class SignInForm extends Form<typeof fields, void> { export default new (class SignInForm extends Form<typeof fields, void> {
defaultSuccessMessage = "Formularz wypełniony poprawnie"; defaultSuccessMessage = "Formularz wypełniony poprawnie";
fields = fields; getFields = () => fields;
controls = [ getControls = () => [
new Controls.SimpleInput(fields.username, { label: "Username:", type: "text" }), new Controls.SimpleInput(fields.username, { label: "Username:", type: "text" }),
new Controls.SimpleInput(fields.password, { new Controls.SimpleInput(fields.password, {
label: "Password:", label: "Password:",