4.6 KiB
Changelog
0.6.0
feature: RowDialog validates a row as part of a larger value, such as a whole document with the row put in.
RowDialogtakesbody, the value posted tovalidatePathfor the row, andselect, the row's problems by field and message taken from the answer.useValidationandRowDialogtake an answer of any shape.
0.5.0
feature: the entry point /shared exports the types and constants a server and its web application share.
@koszewscy/sk-react-toolkit/sharedexports the credential types,TfModule,TfInstance,TfvarsFileStatusand the name patterns of the tfvars store, for the API types of an application imported by both its server and its web application.
0.4.0
feature: the tfvars store keeps Terraform modules, their instances and the instances' variable files in PostgreSQL.
createTfvarsStore(pool): the tablestf_modules,tf_instancesandtf_variable_files, created at the first use, withmodules(list,put,delete),instances(list,create,delete) andvariables(module, instance)(read,write,remove), whose writes take the version read and answerfalsewhen the files changed since.versionOf,tfvarsText, and the typesTfModule,TfInstanceandTfvarsFileStatuswith the patterns of their names, also exported from/web.pgis an optional peer dependency, for the store.npm testtests the store against a scratch database of the server thePG*variables name.
0.3.0
feature: the key of a credential store may be a path of keys, so stores of several kinds share one object of config.json.
CredentialStore.keyis a key ofconfig.jsonor a path of keys separated by dots, such asconnections.pg; read, validate, write andcredentialValuesuse the list at that path, and a write creates the objects of the path that are missing and keeps their other keys.
0.2.1
fix: a credential store holds credentials of one kind, without a kind field in its entries, and the dialog edits several stores in tabs.
- A
CredentialStorehas onekind, and its entries hold the name and the fields of that kind only;kindis no longer a field of an entry, ofCredentialProfile, or ofCredentialKind. The read answer has the store'skindin place ofkinds. CredentialsButtontakesstores, the prefixes and labels of the stores of the sameconfig.json, with a tab for each when there are several; Save writes each store that changed. The message of an empty store is centered in the dialog, and the kind's label keeps its case.- The README's Using it shows the
dev-linkscript of the applications,npm link --no-savein both their packages, in place of the two commands.
0.2.0
feature: the credential store keeps credentials of any kind in config.json with encrypted secrets, with its routes and its dialog.
encryptionKey,encryptanddecrypt: AES-256-GCM with the SHA-256 ofENCRYPTION_KEYor of the content ofENCRYPTION_KEY_FILE.CredentialStore,credentialProblems,credentialValuesandregisterCredentialRoutes: a list of credentials in a key ofconfig.json, of the kinds the application gives, with routes to read, validate and write it; secrets are encrypted and never answered.POSTGRESQL_KIND, the kind of a PostgreSQL connection.CredentialsButton, the dialog that edits a store, its fields rendered from the kinds.
0.1.1
fix: the declarations of the published package import the other declarations by their .js names.
- The
.d.tsfiles of the package name the files they import as.js, as the compiled JavaScript does, instead of the.tsand.tsxfiles of the source, which the package does not hold.
0.1.0
feature: sk-react-toolkit holds the server helpers, web components and Vite font plugin shared by manage-ui and sql-query-webui.
sk-react-toolkit/server:HttpError,strict, the error and not-found handlers, the log,fail,gitVersion,exitOnSignalsandreadJsonObject.sk-react-toolkit/web:requestandApiError, the theme andrenderApp, the font styles,Card,ThemeMenu,SwitcherMenu,TextInput,RowDialog,useValidationandcreateBrowserSettings.sk-react-toolkit/vite: theVITE_FONTfont plugin and the resolve options that keep one copy of React, MUI and Emotion.npm run buildbuilds the published package,@koszewscy/sk-react-toolkit, compiled to JavaScript with declarations, indist/. TheReleaseworkflow of Gitea Actions checks, builds and publishes each tag to the Gitea npm registry, skipping a version already published.