@ostack.tech/ui-kform-scaffolder 0.1.1 → 0.2.0
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/bin/at-ui-kform-scaffolder +1 -1
- package/dist/ostack-ui-kform-scaffolder.js +39 -8
- package/dist/ostack-ui-kform-scaffolder.js.map +1 -1
- package/dist/types/ui-kform-scaffolder/src/configs/DefaultLocaleConfig.d.ts +5 -0
- package/dist/types/{index.d.ts → ui-kform-scaffolder/src/index.d.ts} +1 -1
- package/dist/types/ui-kform-scaffolder/src/main.d.ts +1 -0
- package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/ScaffoldingData.d.ts +2 -0
- package/dist/webapp/assets/{index-BcnL38iR.js → index-BjEiLyTG.js} +99 -98
- package/dist/webapp/index.html +1 -1
- package/package.json +9 -9
- package/dist/ostack-ui-kform-scaffolder.cjs +0 -1761
- package/dist/ostack-ui-kform-scaffolder.cjs.map +0 -1
- package/dist/types/main.d.ts +0 -1
- /package/dist/types/{SchematicBuilder.d.ts → ui-kform-scaffolder/src/SchematicBuilder.d.ts} +0 -0
- /package/dist/types/{SchematicKind.d.ts → ui-kform-scaffolder/src/SchematicKind.d.ts} +0 -0
- /package/dist/types/{configs → ui-kform-scaffolder/src/configs}/SerializationFormatConfig.d.ts +0 -0
- /package/dist/types/{configs → ui-kform-scaffolder/src/configs}/UseTableValuesSerializerConfig.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/kotlin/KtData.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/reactApp/ReactAppData.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/reactApp/util/reactAppLayout.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldActions.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldApi.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldAppComponent.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldAppContext.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldExternalContexts.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldFormPages.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldGradleProject.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldGradleWrapper.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldIssueMessages.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldMain.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldProjectMisc.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldResponses.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldSerializer.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldStyles.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/scaffolders/scaffoldViteProject.d.ts +0 -0
- /package/dist/types/{scaffolding → ui-kform-scaffolder/src/scaffolding}/templates/react-app/src/api/reportError.d.ts +0 -0
- /package/dist/types/{util → ui-kform-scaffolder/src/util}/arrayify.d.ts +0 -0
|
@@ -1,12 +1,38 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useConfig, UseTableValuesSerializerConfig as UseTableValuesSerializerConfig$1, addEjsTemplateFile, addTemplateFile, joinPaths, tsFile, code, anySchematicKind as anySchematicKind$1, bigDecimalSchematicKind as bigDecimalSchematicKind$1, bigIntegerSchematicKind as bigIntegerSchematicKind$1, booleanSchematicKind as booleanSchematicKind$1, byteSchematicKind as byteSchematicKind$1, classSchematicKind as classSchematicKind$1, doubleSchematicKind as doubleSchematicKind$1, enumSchematicKind as enumSchematicKind$1, fileSchematicKind as fileSchematicKind$1, floatSchematicKind as floatSchematicKind$1, intSchematicKind as intSchematicKind$1, listSchematicKind, localDateSchematicKind as localDateSchematicKind$1, longSchematicKind as longSchematicKind$1, shortSchematicKind as shortSchematicKind$1, stringSchematicKind as stringSchematicKind$1, tableSchematicKind as tableSchematicKind$1,
|
|
3
|
-
import
|
|
2
|
+
import { useConfig, UseTableValuesSerializerConfig as UseTableValuesSerializerConfig$1, addEjsTemplateFile, addTemplateFile, joinPaths, tsFile, code, anySchematicKind as anySchematicKind$1, bigDecimalSchematicKind as bigDecimalSchematicKind$1, bigIntegerSchematicKind as bigIntegerSchematicKind$1, booleanSchematicKind as booleanSchematicKind$1, byteSchematicKind as byteSchematicKind$1, classSchematicKind as classSchematicKind$1, doubleSchematicKind as doubleSchematicKind$1, enumSchematicKind as enumSchematicKind$1, fileSchematicKind as fileSchematicKind$1, floatSchematicKind as floatSchematicKind$1, intSchematicKind as intSchematicKind$1, ListableBuilderWithoutKindSelect, createSchematic, listSchematicKind, localDateSchematicKind as localDateSchematicKind$1, longSchematicKind as longSchematicKind$1, shortSchematicKind as shortSchematicKind$1, stringSchematicKind as stringSchematicKind$1, tableSchematicKind as tableSchematicKind$1, annotate, SchematicBuilder as SchematicBuilder$1, configScaffolder, scaffoldSchemas, scaffoldModels, scaffoldValidator } from "@ostack.tech/kform-scaffolder";
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
const locales = [
|
|
5
|
+
"en-GB",
|
|
6
|
+
"en-US",
|
|
7
|
+
"fr",
|
|
8
|
+
"pt"
|
|
9
|
+
];
|
|
10
|
+
function DefaultLocaleConfig({
|
|
11
|
+
defaultValue = "en-US",
|
|
12
|
+
disabled
|
|
13
|
+
}) {
|
|
14
|
+
const [config, setConfig] = useConfig("defaultLocale", defaultValue);
|
|
15
|
+
return /* @__PURE__ */ jsxs("div", { className: "builder-config-field", children: [
|
|
16
|
+
/* @__PURE__ */ jsx("label", { children: "Default locale" }),
|
|
17
|
+
/* @__PURE__ */ jsx(
|
|
18
|
+
"select",
|
|
19
|
+
{
|
|
20
|
+
value: config,
|
|
21
|
+
onChange: (evt) => {
|
|
22
|
+
setConfig(evt.target.value);
|
|
23
|
+
},
|
|
24
|
+
disabled,
|
|
25
|
+
children: locales.map((locale) => /* @__PURE__ */ jsx("option", { value: locale, children: locale }, locale))
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
] });
|
|
29
|
+
}
|
|
4
30
|
function SerializationFormatConfig({
|
|
5
31
|
defaultValue = "json",
|
|
6
32
|
disabled
|
|
7
33
|
}) {
|
|
8
34
|
const [useTableValuesSerializerConfig, setUseTableValuesSerializerConfig] = useConfig("useTableValuesSerializer", false);
|
|
9
|
-
const lastUseTableValuesSerializerConfig =
|
|
35
|
+
const lastUseTableValuesSerializerConfig = useRef(
|
|
10
36
|
useTableValuesSerializerConfig
|
|
11
37
|
);
|
|
12
38
|
const [config, setConfig] = useConfig("serializationFormat", defaultValue);
|
|
@@ -851,9 +877,11 @@ function scaffoldAppComponent(schematic, data) {
|
|
|
851
877
|
scaffoldIssueMessages(schematic, data);
|
|
852
878
|
}
|
|
853
879
|
function scaffoldAppComponentFile(schematic, data) {
|
|
880
|
+
const localeVar = (data.defaultLocale ?? "en-US").replaceAll("-", "");
|
|
854
881
|
data.currentFile.imports.push(
|
|
855
882
|
{ moduleName: "@ostack.tech/kform", name: "ktMapToObject" },
|
|
856
883
|
{ moduleName: "@ostack.tech/ui-kform", name: "FormApp" },
|
|
884
|
+
{ moduleName: "@ostack.tech/ui-kform", name: localeVar },
|
|
857
885
|
{ moduleName: "react", name: "useMemo" },
|
|
858
886
|
{ moduleName: data.kmpModuleName, name: schematic.name },
|
|
859
887
|
{ moduleName: data.kmpModuleName, name: `${schematic.name}FormMode` },
|
|
@@ -890,6 +918,7 @@ function scaffoldAppComponentFile(schematic, data) {
|
|
|
890
918
|
: "auto"
|
|
891
919
|
}
|
|
892
920
|
issueMessages={${constantCase(schematic.name)}_ISSUE_MESSAGES}
|
|
921
|
+
defaultLocale={${localeVar}}
|
|
893
922
|
errorReportingUrl={REPORT_ERROR_ENDPOINT}
|
|
894
923
|
>
|
|
895
924
|
<${schematic.name}Layout />
|
|
@@ -1069,7 +1098,7 @@ function scaffoldGradleProject(schematic, data) {
|
|
|
1069
1098
|
filePackage: data.currentPackage,
|
|
1070
1099
|
formId: kebabCase(schematic.name),
|
|
1071
1100
|
formTitle: capitalCase(schematic.name),
|
|
1072
|
-
kFormVersion: "0.31.
|
|
1101
|
+
kFormVersion: "0.31.2",
|
|
1073
1102
|
serializationFormat: data.serializationFormat ?? "json",
|
|
1074
1103
|
usesKotlinxDatetime: usesKotlinxDatetime(schematic, data),
|
|
1075
1104
|
usesKtMath: usesKtMath(schematic)
|
|
@@ -1614,15 +1643,15 @@ const viteSvg = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www
|
|
|
1614
1643
|
const tsConfigAppJson = '{\n "compilerOptions": {\n "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",\n "target": "ES2022",\n "useDefineForClassFields": true,\n "lib": ["ES2022", "DOM", "DOM.Iterable"],\n "module": "ESNext",\n "types": ["vite/client"],\n "skipLibCheck": true,\n\n /* Bundler mode */\n "moduleResolution": "bundler",\n "allowImportingTsExtensions": true,\n "verbatimModuleSyntax": true,\n "moduleDetection": "force",\n "noEmit": true,\n "jsx": "react-jsx",\n\n /* Linting */\n "strict": true,\n "noUnusedLocals": true,\n "noUnusedParameters": true,\n "erasableSyntaxOnly": true,\n "noFallthroughCasesInSwitch": true,\n "noUncheckedSideEffectImports": true\n },\n "include": ["src"]\n}\n';
|
|
1615
1644
|
const tsConfigJson = '{\n "files": [],\n "references": [\n { "path": "./tsconfig.app.json" },\n { "path": "./tsconfig.node.json" }\n ]\n}\n';
|
|
1616
1645
|
const tsConfigNodeJson = '{\n "compilerOptions": {\n "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",\n "target": "ES2023",\n "lib": ["ES2023"],\n "module": "ESNext",\n "types": ["node"],\n "skipLibCheck": true,\n\n /* Bundler mode */\n "moduleResolution": "bundler",\n "allowImportingTsExtensions": true,\n "verbatimModuleSyntax": true,\n "moduleDetection": "force",\n "noEmit": true,\n\n /* Linting */\n "strict": true,\n "noUnusedLocals": true,\n "noUnusedParameters": true,\n "erasableSyntaxOnly": true,\n "noFallthroughCasesInSwitch": true,\n "noUncheckedSideEffectImports": true\n },\n "include": ["vite.config.ts"]\n}\n';
|
|
1617
|
-
const viteConfigTsEjs = 'import
|
|
1646
|
+
const viteConfigTsEjs = 'import { resolve } from "node:path";\n\nimport react from "@vitejs/plugin-react-swc";\nimport { defineConfig } from "vite";\n\n// https://vite.dev/config/\nexport default defineConfig({\n plugins: [react()],\n build: {\n outDir: "build/dist",\n rollupOptions: {\n input: {\n "<%= formId %>-app":\n process.env.VITE_BUILD_REASON === "preview"\n ? "index.html"\n : "src/main.tsx",\n },\n output: {\n // Output files without hashes, making it easier to serve them in the\n // server. However, the server is expected to somehow "version" them for\n // cache busting purposes.\n entryFileNames: "assets/[name].js",\n chunkFileNames: "assets/[name].js",\n assetFileNames: "assets/[name].[ext]",\n },\n },\n },\n resolve: {\n alias: [\n // Due to how Kotlin "bundles" dependencies, we need to use the\n // `@ostack.tech/kform` produced by the shared module.\n {\n find: "@ostack.tech/kform",\n replacement: resolve(\n import.meta.dirname,\n "node_modules/<%= formId %>-shared/ostack-kform.mjs",\n ),\n },\n ],\n },\n server: {\n proxy: { "/api": "http://127.0.0.1:8080" },\n },\n});\n';
|
|
1618
1647
|
function scaffoldViteProject(schematic, data) {
|
|
1619
1648
|
const ejsData = {
|
|
1620
1649
|
formId: kebabCase(schematic.name),
|
|
1621
1650
|
formClass: schematic.name,
|
|
1622
1651
|
formTitle: capitalCase(schematic.name),
|
|
1623
|
-
ostackUiVersion: "0.
|
|
1624
|
-
kFormVersion: "0.31.
|
|
1625
|
-
dependencyVersions: JSON.parse('{"@eslint/js":"^9.37.0","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@fortawesome/free-regular-svg-icons":"^7.1.0","@fortawesome/free-solid-svg-icons":"^7.1.0","@ostack.tech/kform":"~0.31.
|
|
1652
|
+
ostackUiVersion: "0.2.0",
|
|
1653
|
+
kFormVersion: "0.31.2",
|
|
1654
|
+
dependencyVersions: JSON.parse('{"@eslint/js":"^9.37.0","@fortawesome/fontawesome-svg-core":"^7.1.0","@fortawesome/free-brands-svg-icons":"^7.1.0","@fortawesome/free-regular-svg-icons":"^7.1.0","@fortawesome/free-solid-svg-icons":"^7.1.0","@ostack.tech/kform":"~0.31.2","@ostack.tech/kform-react":"~0.31.2","@ostack.tech/kform-scaffolder":"~0.31.2","@storybook/addon-docs":"^9.1.12","@storybook/addon-links":"^9.1.12","@storybook/react-vite":"^9.1.12","@types/node":"^22.18.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@vitejs/plugin-react-swc":"^4.1.0","colorjs.io":"^0.5.2","cpy-cli":"^6.0.0","date-fns":"^4.1.0","eslint":"^9.37.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","eslint-plugin-react-hooks":"^6.1.1","eslint-plugin-react-refresh":"^0.4.24","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-storybook":"^9.1.12","globals":"^16.4.0","happy-dom":"^20.0.2","lint-staged":"^16.2.4","prettier":"^3.6.2","prettier-plugin-jsdoc":"^1.3.3","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.4","react-router-dom":"^7.9.4","rimraf":"^6.0.1","sass-embedded":"^1.93.2","simple-git-hooks":"^2.13.1","storybook":"^9.1.12","tslib":"^2.8.1","typescript":"~5.9.3","typescript-eslint":"^8.46.1","vite":"^7.1.10","vitest":"^3.2.4","zustand":"^5.0.8"}'),
|
|
1626
1655
|
externalContextsData: data.serializationFormat === "json" ? "{}" : `<${schematic.name}ExternalContexts />`
|
|
1627
1656
|
};
|
|
1628
1657
|
addEjsTemplateFile(data, "react-app/package.json", packageJsonEjs, ejsData);
|
|
@@ -1675,6 +1704,7 @@ function SchematicBuilder({
|
|
|
1675
1704
|
...schematic.config
|
|
1676
1705
|
}),
|
|
1677
1706
|
configs = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1707
|
+
/* @__PURE__ */ jsx(DefaultLocaleConfig, {}),
|
|
1678
1708
|
/* @__PURE__ */ jsx(SerializationFormatConfig, {}),
|
|
1679
1709
|
/* @__PURE__ */ jsx(UseTableValuesSerializerConfig, {})
|
|
1680
1710
|
] }),
|
|
@@ -1693,6 +1723,7 @@ function SchematicBuilder({
|
|
|
1693
1723
|
);
|
|
1694
1724
|
}
|
|
1695
1725
|
export {
|
|
1726
|
+
DefaultLocaleConfig,
|
|
1696
1727
|
SchematicBuilder,
|
|
1697
1728
|
SerializationFormatConfig,
|
|
1698
1729
|
UseTableValuesSerializerConfig,
|