@powerhousedao/codegen 0.7.0 → 0.9.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.
|
@@ -4,7 +4,7 @@ unless_exists: true
|
|
|
4
4
|
---
|
|
5
5
|
<% if(!documentTypes.length){ %>import { Action, EditorProps } from 'document-model/document';<% } else { %>import { EditorProps } from 'document-model/document';<% } %>
|
|
6
6
|
<% documentTypes.forEach(type => { _%>
|
|
7
|
-
import { <%= documentTypesMap[type] %>State, <%= documentTypesMap[type] %>Action, <%= documentTypesMap[type] %>LocalState } from "../.<%= documentModelsDir %>/<%= h.changeCase.param(documentTypesMap[type]) %>";
|
|
7
|
+
import { <%= documentTypesMap[type] %>State, <%= documentTypesMap[type] %>Action, <%= documentTypesMap[type] %>LocalState, actions } from "../.<%= documentModelsDir %>/<%= h.changeCase.param(documentTypesMap[type]) %>";
|
|
8
8
|
%><% }); _%>
|
|
9
9
|
|
|
10
10
|
export type IProps = <% if(!documentTypes.length){ %>EditorProps<unknown, Action><% } else { %><% documentTypes.forEach((type, index) => { _%>EditorProps<<%= documentTypesMap[type] %>State, <%= documentTypesMap[type] %>Action, <%= documentTypesMap[type] %>LocalState%>%>><% if(index < documentTypes.length - 1){ %> | <% }%><% }); _%> <% } %>;
|
|
@@ -2,15 +2,20 @@
|
|
|
2
2
|
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
3
|
force: true
|
|
4
4
|
---
|
|
5
|
-
import {
|
|
5
|
+
import { ExtendedEditor, EditorContextProps } from 'document-model-libs';
|
|
6
6
|
import Editor from './editor';
|
|
7
7
|
<% documentTypes.forEach(type => { _%>
|
|
8
8
|
import { <%= documentTypesMap[type] %>State, <%= documentTypesMap[type] %>Action, <%= documentTypesMap[type] %>LocalState } from "../.<%= documentModelsDir %>/<%= h.changeCase.param(documentTypesMap[type]) %>";
|
|
9
9
|
%><% }); _%>
|
|
10
10
|
|
|
11
|
-
export const module: <% if(!documentTypes.length){ %>
|
|
11
|
+
export const module: <% if(!documentTypes.length){ %>ExtendedEditor<unknown, Action, unknown, unknown><% } else { %><% documentTypes.forEach((type, index) => { _%>ExtendedEditor<<%= documentTypesMap[type] %>State, <%= documentTypesMap[type] %>Action, <%= documentTypesMap[type] %>LocalState, EditorContextProps%>%>> <% if(index < documentTypes.length - 1){ %>| <% }%><% }); _%> <% } %>= {
|
|
12
12
|
Component: Editor,
|
|
13
13
|
documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
|
|
14
|
+
config: {
|
|
15
|
+
id: 'editor-id',
|
|
16
|
+
disableExternalControls: true,
|
|
17
|
+
documentToolbarEnabled: true,
|
|
18
|
+
},
|
|
14
19
|
};
|
|
15
20
|
|
|
16
21
|
export default module;
|
package/dist/codegen/graphql.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var cli = require('@graphql-codegen/cli');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
|
+
var scalars = require('@powerhousedao/scalars');
|
|
5
6
|
|
|
6
7
|
const getDirectories = (source) => node_fs.readdirSync(source, { withFileTypes: true }).filter((dirent) => dirent.isDirectory()).map((dirent) => dirent.name);
|
|
7
8
|
const tsConfig = {
|
|
@@ -10,7 +11,8 @@ const tsConfig = {
|
|
|
10
11
|
Unknown: "unknown",
|
|
11
12
|
DateTime: "string",
|
|
12
13
|
Attachment: "string",
|
|
13
|
-
Address: "`${string}:0x${string}`"
|
|
14
|
+
Address: "`${string}:0x${string}`",
|
|
15
|
+
...scalars.generatorTypeDefs
|
|
14
16
|
},
|
|
15
17
|
enumsAsTypes: true,
|
|
16
18
|
allowEnumStringTypes: true,
|
|
@@ -29,7 +31,8 @@ const validationConfig = {
|
|
|
29
31
|
Unknown: "z.unknown()",
|
|
30
32
|
DateTime: "z.string().datetime()",
|
|
31
33
|
Attachment: "z.string()",
|
|
32
|
-
Address: "z.custom<`${string}:0x${string}`>((val) => /^[a-zA-Z0-9]+:0x[a-fA-F0-9]{40}$/.test(val as string))"
|
|
34
|
+
Address: "z.custom<`${string}:0x${string}`>((val) => /^[a-zA-Z0-9]+:0x[a-fA-F0-9]{40}$/.test(val as string))",
|
|
35
|
+
...scalars.validationSchema
|
|
33
36
|
},
|
|
34
37
|
directives: {
|
|
35
38
|
equals: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/codegen/graphql.ts"],"names":["readdirSync","generate"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/codegen/graphql.ts"],"names":["readdirSync","generatorTypeDefs","validationSchema","generate"],"mappings":"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","file":"graphql.js","sourcesContent":["import { type CodegenConfig, generate } from \"@graphql-codegen/cli\";\nimport { TypeScriptPluginConfig } from \"@graphql-codegen/typescript\";\nimport { plugin } from \"@acaldas/graphql-codegen-typescript-validation-schema\";\nimport { readdirSync } from \"node:fs\";\nimport { generatorTypeDefs, validationSchema } from \"@powerhousedao/scalars\";\n\nconst getDirectories = (source: string) =>\n readdirSync(source, { withFileTypes: true })\n .filter((dirent) => dirent.isDirectory())\n .map((dirent) => dirent.name);\n\nexport const tsConfig: TypeScriptPluginConfig = {\n strictScalars: true,\n scalars: {\n Unknown: \"unknown\",\n DateTime: \"string\",\n Attachment: \"string\",\n Address: \"`${string}:0x${string}`\",\n ...(generatorTypeDefs as Record<string, string>),\n },\n enumsAsTypes: true,\n allowEnumStringTypes: true,\n avoidOptionals: {\n field: true,\n },\n skipTypename: true,\n // maybeValue: \"T | null | undefined\",\n inputMaybeValue: \"T | null | undefined\",\n};\n\nexport type ValidationSchemaConfigType = Parameters<typeof plugin>[2];\n\nexport const validationConfig: ValidationSchemaConfigType = {\n importFrom: `./types`,\n schema: \"zod\",\n ...tsConfig,\n scalarSchemas: {\n Unknown: \"z.unknown()\",\n DateTime: \"z.string().datetime()\",\n Attachment: \"z.string()\",\n Address:\n \"z.custom<`${string}:0x${string}`>((val) => /^[a-zA-Z0-9]+:0x[a-fA-F0-9]{40}$/.test(val as string))\",\n ...(validationSchema as Record<string, string>),\n },\n directives: {\n equals: {\n value: [\"regex\", \"/^$1$/\"],\n },\n },\n withObjectType: true,\n};\n\nexport function schemaConfig(\n name: string,\n dir: string,\n): CodegenConfig[\"generates\"] {\n return {\n [`${dir}/${name}/gen/schema/types.ts`]: {\n schema: [\n {\n [`${dir}/${name}/schema.graphql`]: {\n skipGraphQLImport: false,\n },\n },\n ],\n plugins: [\"typescript\"],\n config: tsConfig,\n },\n [`${dir}/${name}/gen/schema/zod.ts`]: {\n schema: `${dir}/${name}/schema.graphql`,\n plugins: [\"@acaldas/graphql-codegen-typescript-validation-schema\"],\n config: validationConfig,\n },\n };\n}\n\nexport const generateSchema = (\n model: string,\n dir: string,\n { watch = false, format = false } = {},\n) => {\n const documentModelConfig = schemaConfig(model, dir);\n const config: CodegenConfig = {\n overwrite: true,\n generates: documentModelConfig,\n watch,\n hooks: {\n afterOneFileWrite: format ? [\"prettier --ignore-path --write\"] : [],\n },\n };\n return generate(config, true);\n};\n\nexport const generateSchemas = (\n dir: string,\n { watch = false, format = false } = {},\n) => {\n const documentModels = getDirectories(dir);\n const documentModelConfigs = documentModels.reduce(\n (obj, model) => ({\n ...obj,\n ...schemaConfig(model, dir),\n }),\n {},\n );\n\n const config: CodegenConfig = {\n overwrite: true,\n generates: documentModelConfigs,\n watch,\n hooks: {\n afterOneFileWrite: format ? [\"prettier --ignore-path --write\"] : [],\n },\n };\n return generate(config, true);\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/codegen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -39,10 +39,12 @@
|
|
|
39
39
|
"husky": "^8.0.3",
|
|
40
40
|
"rimraf": "^5.0.5",
|
|
41
41
|
"ts-node": "^10.9.2",
|
|
42
|
-
"tsup": "^8.3.0"
|
|
42
|
+
"tsup": "^8.3.0",
|
|
43
|
+
"@powerhousedao/scalars": "1.4.0"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
|
45
|
-
"graphql": "^16.8.1"
|
|
46
|
+
"graphql": "^16.8.1",
|
|
47
|
+
"@powerhousedao/scalars": "latest"
|
|
46
48
|
},
|
|
47
49
|
"scripts": {
|
|
48
50
|
"check-types": "tsc --noEmit",
|