vovk-cli 0.0.1-draft.345 → 0.0.1-draft.346

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.
@@ -3,12 +3,12 @@ const { createRPC } = require('<%= t.commonImports.createRPC %>');
3
3
  const { schema } = require('./schema.cjs');
4
4
  const { openapi } = require('./openapi.cjs');
5
5
  const { validateOnClient = null } = <%- t.imports.validateOnClient ? `require('${t.imports.validateOnClient}')` : '{}'%>;
6
- <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment) => { %>
7
- <% Object.entries(t.segmentMeta[segment.segmentName].reExports).forEach(([reExportWhatCommaDivisible, reExportFrom]) => {
8
- reExportWhatCommaDivisible.split(/\s*,\s*/).forEach((reExportWhat) => { %>
6
+ <% Object.entries(t.reExports).forEach(([reExportWhatCommaDivisible, reExportFrom]) => {
7
+ reExportWhatCommaDivisible.split(/\s*,\s*/).forEach((reExportWhat) => { %>
9
8
  exports['<%= reExportWhat.split(/\s+as\s+/)[1] ?? reExportWhat %>'] = require('<%= reExportFrom %>')['<%= reExportWhat.split(/\s+as\s+/)[0] %>'];
10
- <% })
11
- }) %>
9
+ <% })
10
+ }) %>
11
+ <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment) => { %>
12
12
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
13
13
  exports.<%= rpcModuleName %> = createRPC(
14
14
  schema, '<%= segment.segmentName %>', '<%= rpcModuleName %>', require('<%= t.segmentImports[segment.segmentName].fetcher %>').fetcher,
@@ -7,11 +7,10 @@ import type { Controllers as Controllers<%= i %> } from "<%= t.segmentMeta[segme
7
7
  <% if (t.hasMixins) { %>
8
8
  import type { Controllers as MixinControllers, Mixins } from "./mixins";
9
9
  <% } %>
10
-
11
- <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
12
- <% Object.entries(t.segmentMeta[segment.segmentName].reExports).forEach(([reExportWhat, reExportFrom]) => { %>
10
+ <% Object.entries(t.reExports).forEach(([reExportWhat, reExportFrom]) => { %>
13
11
  export { <%= reExportWhat %> } from '<%= reExportFrom %>';
14
- <% }) %>
12
+ <% }) %>
13
+ <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
15
14
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
16
15
  export const <%= rpcModuleName %>: ReturnType<typeof createRPC<<%= segment.segmentType === 'mixin' ? `MixinControllers` : `Controllers${i}` %>["<%= rpcModuleName %>"], typeof import('<%- t.segmentImports[segment.segmentName].module.fetcher %>').fetcher extends VovkClientFetcher<infer U> ? U : never>>;
17
16
  <% })
@@ -7,11 +7,10 @@ import type { Controllers as Controllers<%= i %> } from "<%= t.segmentMeta[segme
7
7
  <% if (t.hasMixins) { %>
8
8
  import type { Controllers as MixinControllers, Mixins } from "./mixins";
9
9
  <% } %>
10
-
11
- <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
12
- <% Object.entries(t.segmentMeta[segment.segmentName].reExports).forEach(([reExportWhat, reExportFrom]) => { %>
10
+ <% Object.entries(t.reExports).forEach(([reExportWhat, reExportFrom]) => { %>
13
11
  export { <%= reExportWhat %> } from '<%= reExportFrom %>';
14
- <% }) %>
12
+ <% }) %>
13
+ <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
15
14
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
16
15
  export const <%= rpcModuleName %>: ReturnType<typeof createRPC<<%= segment.segmentType === 'mixin' ? `MixinControllers` : `Controllers${i}` %>["<%= rpcModuleName %>"], typeof import('<%- t.segmentImports[segment.segmentName].module.fetcher %>').fetcher extends VovkClientFetcher<infer U> ? U : never>>;
17
16
  <% })
@@ -2,10 +2,10 @@
2
2
  import { createRPC } from '<%= t.commonImports.module.createRPC %>';
3
3
  import { schema } from './schema.cjs';
4
4
  import { openapi } from './openapi.cjs';
5
- <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
6
- <% Object.entries(t.segmentMeta[segment.segmentName].reExports).forEach(([reExportWhat, reExportFrom]) => { %>
5
+ <% Object.entries(t.reExports).forEach(([reExportWhat, reExportFrom]) => { %>
7
6
  export { <%= reExportWhat %> } from '<%= reExportFrom %>';
8
- <% }) %>
7
+ <% }) %>
8
+ <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
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 %>'),
@@ -10,10 +10,10 @@ import type { Controllers as Controllers<%= i %> } from "<%= t.segmentMeta[segme
10
10
  if (t.hasMixins) { %>
11
11
  import type { Controllers as MixinControllers, Mixins } from "./mixins.d.ts";
12
12
  <% } %>
13
- <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
14
- <% Object.entries(t.segmentMeta[segment.segmentName].reExports).forEach(([reExportWhat, reExportFrom]) => { %>
13
+ <% Object.entries(t.reExports).forEach(([reExportWhat, reExportFrom]) => { %>
15
14
  export { <%= reExportWhat %> } from '<%= reExportFrom %>';
16
- <% }) %>
15
+ <% }) %>
16
+ <% Object.values(t.schema.segments).filter((segment) => segment.emitSchema).forEach((segment, i) => { %>
17
17
  <% Object.keys(segment.controllers).forEach((rpcModuleName) => { %>
18
18
  export const <%= rpcModuleName %> = createRPC<<%= segment.segmentType === 'mixin' ? `MixinControllers` : `Controllers${i}` %>["<%= rpcModuleName %>"], typeof import('<%- t.segmentImports[segment.segmentName].module.fetcher %>').fetcher extends VovkClientFetcher<infer U> ? U : never>(
19
19
  schema, '<%= segment.segmentName %>', '<%= rpcModuleName %>', import('<%- t.segmentImports[segment.segmentName].module.fetcher %>'),
@@ -135,7 +135,7 @@ export async function generate({ isEnsuringClient = false, isBundle = false, pro
135
135
  const matterResult = templateFilePath.endsWith('.ejs')
136
136
  ? matter(templateContent)
137
137
  : { data: { imports: [] }, content: templateContent };
138
- const { package: packageJson, readme, origin, snippets, } = getGeneratorConfig({
138
+ const { package: packageJson, readme, origin, snippets, reExports, } = getGeneratorConfig({
139
139
  schema: fullSchema,
140
140
  configs: [templateDef.generatorConfig ?? {}],
141
141
  projectPackageJson,
@@ -164,6 +164,7 @@ export async function generate({ isEnsuringClient = false, isBundle = false, pro
164
164
  package: packageJson,
165
165
  readme,
166
166
  snippets,
167
+ reExports,
167
168
  isEnsuringClient,
168
169
  outCwdRelativeDir,
169
170
  templateDef,
@@ -217,7 +218,7 @@ export async function generate({ isEnsuringClient = false, isBundle = false, pro
217
218
  ? matter(templateContent)
218
219
  : { data: { imports: [] }, content: templateContent };
219
220
  const results = await Promise.all(segmentNames.map(async (segmentName) => {
220
- const { package: packageJson, readme, origin, snippets, } = getGeneratorConfig({
221
+ const { package: packageJson, readme, origin, snippets, reExports, } = getGeneratorConfig({
221
222
  schema: fullSchema,
222
223
  configs: [templateDef.generatorConfig ?? {}],
223
224
  projectPackageJson,
@@ -247,6 +248,7 @@ export async function generate({ isEnsuringClient = false, isBundle = false, pro
247
248
  package: packageJson,
248
249
  readme,
249
250
  snippets,
251
+ reExports,
250
252
  isEnsuringClient,
251
253
  outCwdRelativeDir,
252
254
  templateDef,
@@ -5,7 +5,7 @@ import type { ClientTemplateFile } from './getClientTemplateFiles.mjs';
5
5
  import type { Segment } from '../locateSegments.mjs';
6
6
  import { OpenAPIObject } from 'openapi3-ts/oas31';
7
7
  export declare function normalizeOutTemplatePath(out: string, packageJson: PackageJson): string;
8
- export default function writeOneClientFile({ cwd, projectInfo, clientTemplateFile, fullSchema, prettifyClient, segmentName, templateContent, matterResult: { data, content }, openapi, package: packageJson, readme, snippets, isEnsuringClient, outCwdRelativeDir, locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage, isBundle, origin, configKey, cliSchemaPath, }: {
8
+ export default function writeOneClientFile({ cwd, projectInfo, clientTemplateFile, fullSchema, prettifyClient, segmentName, templateContent, matterResult: { data, content }, openapi, package: packageJson, readme, snippets, reExports, isEnsuringClient, outCwdRelativeDir, locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage, isBundle, origin, configKey, cliSchemaPath, }: {
9
9
  cwd: string;
10
10
  projectInfo: ProjectInfo;
11
11
  clientTemplateFile: ClientTemplateFile;
@@ -23,6 +23,7 @@ export default function writeOneClientFile({ cwd, projectInfo, clientTemplateFil
23
23
  package: PackageJson;
24
24
  readme: VovkReadmeConfig;
25
25
  snippets: VovkSnippetsConfig;
26
+ reExports: VovkStrictConfig['generatorConfig']['reExports'];
26
27
  isEnsuringClient: boolean;
27
28
  outCwdRelativeDir: string;
28
29
  templateDef: VovkStrictConfig['clientTemplateDefs'][string];
@@ -14,7 +14,7 @@ export function normalizeOutTemplatePath(out, packageJson) {
14
14
  }
15
15
  export default async function writeOneClientFile({ cwd, projectInfo, clientTemplateFile, fullSchema, prettifyClient, segmentName,
16
16
  // imports,
17
- templateContent, matterResult: { data, content }, openapi, package: packageJson, readme, snippets, isEnsuringClient, outCwdRelativeDir,
17
+ templateContent, matterResult: { data, content }, openapi, package: packageJson, readme, snippets, reExports, isEnsuringClient, outCwdRelativeDir,
18
18
  // templateDef,
19
19
  locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage, isBundle, origin, configKey, cliSchemaPath, }) {
20
20
  const { config, apiRoot } = projectInfo;
@@ -46,6 +46,7 @@ locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage,
46
46
  package: packageJson,
47
47
  readme,
48
48
  snippets,
49
+ reExports,
49
50
  openapi,
50
51
  ROOT_SEGMENT_FILE_NAME,
51
52
  apiRoot: origin ? `${origin}/${config.rootEntry}` : apiRoot,
@@ -82,10 +83,6 @@ locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage,
82
83
  // ...templateDef.generatorConfig?.segments?.[sName],
83
84
  };
84
85
  const { origin: segmentConfigOrigin, rootEntry: segmentConfigRootEntry, segmentNameOverride } = segmentConfig;
85
- const reExports = {
86
- ...segmentConfig.reExports,
87
- ...(isBundle ? projectInfo.config.bundle.generatorConfig?.reExports : {}),
88
- };
89
86
  return [
90
87
  sName,
91
88
  {
@@ -96,9 +93,6 @@ locatedSegments, isNodeNextResolution, hasMixins, isVovkProject, vovkCliPackage,
96
93
  routeFilePath,
97
94
  segmentImportPath,
98
95
  segmentNameOverride,
99
- reExports: _.mapValues(reExports ?? {}, (p) => p.startsWith('.')
100
- ? path.relative(path.join(outCwdRelativeDir, typeof segmentName === 'string' ? segmentName || ROOT_SEGMENT_FILE_NAME : '.'), path.resolve(cwd, p))
101
- : p),
102
96
  },
103
97
  ];
104
98
  })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vovk-cli",
3
- "version": "0.0.1-draft.345",
3
+ "version": "0.0.1-draft.346",
4
4
  "bin": {
5
5
  "vovk": "./dist/index.mjs"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "homepage": "https://vovk.dev",
37
37
  "peerDependencies": {
38
- "vovk": "^3.0.0-draft.406"
38
+ "vovk": "^3.0.0-draft.407"
39
39
  },
40
40
  "optionalDependencies": {
41
41
  "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.31"