vovk-cli 0.0.1-draft.386 → 0.0.1-draft.388

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.
@@ -11,7 +11,7 @@ exports['<%= reExportWhat.split(/\s+as\s+/)[1] ?? reExportWhat %>'] = require('<
11
11
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
12
12
  exports.<%= rpcModuleName %> = createRPC(
13
13
  schema, '<%= segment.segmentName %>', '<%= rpcModuleName %>', require('<%= t.segmentImports[segment.segmentName].fetcher %>').fetcher,
14
- { validateOnClient: <%- t.segmentImports[segment.segmentName].validateOnClient ? `require('${t.segmentImports[segment.segmentName].validateOnClient}').validateOnClient` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot}'` %> }
14
+ { validateOnClient: <%- t.segmentImports[segment.segmentName].validateOnClient ? `require('${t.segmentImports[segment.segmentName].validateOnClient}').validateOnClient` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot ?? ''}'` %> }
15
15
  );
16
16
  <% })
17
17
  }) %>
@@ -9,7 +9,7 @@ export { <%= reExportWhat %> } from '<%= reExportFrom %>';
9
9
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
10
10
  export const <%= rpcModuleName %> = createRPC(
11
11
  schema, '<%= segment.segmentName %>', '<%= rpcModuleName %>', import('<%- t.segmentImports[segment.segmentName].module.fetcher %>'),
12
- { validateOnClient: <%- t.segmentImports[segment.segmentName].module.validateOnClient ? `import('${t.segmentImports[segment.segmentName].validateOnClient}')` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot}'` %> }
12
+ { validateOnClient: <%- t.segmentImports[segment.segmentName].module.validateOnClient ? `import('${t.segmentImports[segment.segmentName].validateOnClient}')` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot ?? ''}'` %> }
13
13
  );
14
14
  <%
15
15
  });
@@ -22,7 +22,7 @@ export { <%= reExportWhat %> } from '<%= reExportFrom %>';
22
22
  Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
23
23
  export const <%= rpcModuleName %> = createRPC<<%= segment.segmentType === 'mixin' ? `MixinControllers` : `Controllers${i}` %>["<%= rpcModuleName %>"], typeof import('<%- t.segmentImports[segment.segmentName].module.fetcher %>').fetcher extends VovkFetcher<infer U> ? U : never>(
24
24
  schema, '<%= segment.segmentName %>', '<%= rpcModuleName %>', import('<%- t.segmentImports[segment.segmentName].module.fetcher %>'),
25
- { validateOnClient: <%- t.segmentImports[segment.segmentName].module.validateOnClient ? `import('${t.segmentImports[segment.segmentName].validateOnClient}')` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot}'` %> }
25
+ { validateOnClient: <%- t.segmentImports[segment.segmentName].module.validateOnClient ? `import('${t.segmentImports[segment.segmentName].validateOnClient}')` : 'undefined' %>, <%- typeof t.segmentMeta[segment.segmentName].segmentNameOverride === 'string' ? `segmentNameOverride: '${t.segmentMeta[segment.segmentName].segmentNameOverride}', ` : '' %><%- segment.segmentType === 'mixin' ? '' : `apiRoot: '${t.segmentMeta[segment.segmentName].forceApiRoot ?? t.apiRoot ?? ''}'` %> }
26
26
  );
27
27
  <% })
28
28
  }) %>
@@ -150,7 +150,6 @@ export async function generate({ isEnsuringClient = false, isBundle = false, pro
150
150
  isBundle,
151
151
  segmentName: null,
152
152
  });
153
- // console.log('reExports', fullSchema.meta)
154
153
  const openapi = vovkSchemaToOpenAPI({
155
154
  schema: fullSchema,
156
155
  rootEntry: config.rootEntry,
@@ -1,10 +1,11 @@
1
- import { type VovkSchema } from 'vovk';
1
+ import { VovkStrictConfig, type VovkSchema } from 'vovk';
2
2
  export type ClientImports = {
3
3
  fetcher: string;
4
4
  validateOnClient: string | null;
5
5
  createRPC: string;
6
6
  };
7
- export default function getTemplateClientImports({ fullSchema, outCwdRelativeDir, segmentName, isBundle, }: {
7
+ export default function getTemplateClientImports({ config, fullSchema, outCwdRelativeDir, segmentName, isBundle, }: {
8
+ config: VovkStrictConfig;
8
9
  fullSchema: VovkSchema;
9
10
  outCwdRelativeDir: string;
10
11
  segmentName: string | null;
@@ -1,8 +1,13 @@
1
1
  import path from 'node:path';
2
2
  import { resolveGeneratorConfigValues } from 'vovk';
3
3
  import { ROOT_SEGMENT_FILE_NAME } from '../dev/writeOneSegmentSchemaFile.mjs';
4
- export default function getTemplateClientImports({ fullSchema, outCwdRelativeDir, segmentName, isBundle, }) {
5
- const { imports: configImports } = resolveGeneratorConfigValues({ schema: fullSchema, segmentName, isBundle });
4
+ export default function getTemplateClientImports({ config, fullSchema, outCwdRelativeDir, segmentName, isBundle, }) {
5
+ const { imports: configImports } = resolveGeneratorConfigValues({
6
+ config,
7
+ schema: fullSchema,
8
+ segmentName,
9
+ isBundle,
10
+ });
6
11
  const validateOnClientImport = configImports?.validateOnClient ?? null;
7
12
  const fetcherImport = configImports?.fetcher ?? 'vovk';
8
13
  const createRPCImport = configImports?.createRPC ?? 'vovk';
@@ -18,7 +18,7 @@ export default async function writeOneClientFile({ cwd, projectInfo, clientTempl
18
18
  templateContent, matterResult: { data, content }, openapi, package: packageJson, readme, samples, reExports, isEnsuringClient, outCwdRelativeDir,
19
19
  // templateDef,
20
20
  locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage, isBundle, origin, configKey, cliSchemaPath, projectConfig, }) {
21
- const { config, apiRoot } = projectInfo;
21
+ const { config } = projectInfo;
22
22
  const { templateFilePath, relativeDir } = clientTemplateFile;
23
23
  const locatedSegmentsByName = _.keyBy(locatedSegments, 'segmentName');
24
24
  const outPath = normalizeOutTemplatePath(path.resolve(cwd, outCwdRelativeDir, typeof segmentName === 'string' ? segmentName || ROOT_SEGMENT_FILE_NAME : '', relativeDir, path.basename(templateFilePath).replace('.ejs', '')), packageJson);
@@ -53,7 +53,7 @@ locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage,
53
53
  reExports,
54
54
  openapi,
55
55
  ROOT_SEGMENT_FILE_NAME,
56
- apiRoot: origin ? `${origin}/${config.rootEntry}` : apiRoot,
56
+ apiRoot: origin ? `${origin}/${config.rootEntry}` : undefined,
57
57
  imports: {},
58
58
  schema: fullSchema,
59
59
  config: projectConfig,
@@ -73,9 +73,21 @@ locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage,
73
73
  schemaOutDir: typeof segmentName === 'string'
74
74
  ? path.relative(path.join(outCwdRelativeDir, segmentName || ROOT_SEGMENT_FILE_NAME), cliSchemaPath ?? config.schemaOutDir)
75
75
  : path.relative(outCwdRelativeDir, cliSchemaPath ?? config.schemaOutDir),
76
- commonImports: getTemplateClientImports({ fullSchema, isBundle, outCwdRelativeDir, segmentName })['composedClient'],
76
+ commonImports: getTemplateClientImports({
77
+ config: projectConfig,
78
+ fullSchema,
79
+ isBundle,
80
+ outCwdRelativeDir,
81
+ segmentName,
82
+ })['composedClient'],
77
83
  segmentImports: Object.fromEntries(Object.values(fullSchema.segments).map(({ segmentName: sName }) => {
78
- const clientImports = getTemplateClientImports({ fullSchema, segmentName: sName, isBundle, outCwdRelativeDir });
84
+ const clientImports = getTemplateClientImports({
85
+ config: projectConfig,
86
+ fullSchema,
87
+ segmentName: sName,
88
+ isBundle,
89
+ outCwdRelativeDir,
90
+ });
79
91
  const imports = configKey === 'composedClient' ? clientImports['composedClient'] : clientImports['segmentedClient'][sName];
80
92
  return [sName, imports];
81
93
  })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vovk-cli",
3
- "version": "0.0.1-draft.386",
3
+ "version": "0.0.1-draft.388",
4
4
  "bin": {
5
5
  "vovk": "./dist/index.mjs"
6
6
  },