vovk-cli 0.1.2 → 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.
Files changed (125) hide show
  1. package/dist/bundle/index.d.mts +1 -1
  2. package/dist/bundle/index.mjs +3 -3
  3. package/dist/dev/{ensureSchemaFiles.d.mts → ensure-schema-files.d.mts} +1 -1
  4. package/dist/dev/{ensureSchemaFiles.mjs → ensure-schema-files.mjs} +3 -3
  5. package/dist/dev/index.mjs +11 -11
  6. package/dist/dev/log-diff-result.d.mts +3 -0
  7. package/dist/dev/{logDiffResult.mjs → log-diff-result.mjs} +2 -2
  8. package/dist/dev/{writeMetaJson.d.mts → write-meta-json.d.mts} +1 -1
  9. package/dist/dev/{writeMetaJson.mjs → write-meta-json.mjs} +3 -3
  10. package/dist/dev/{writeOneSegmentSchemaFile.d.mts → write-one-segment-schema-file.d.mts} +1 -1
  11. package/dist/dev/{writeOneSegmentSchemaFile.mjs → write-one-segment-schema-file.mjs} +2 -2
  12. package/dist/generate/ensure-client.d.mts +3 -0
  13. package/dist/generate/{ensureClient.mjs → ensure-client.mjs} +1 -1
  14. package/dist/generate/generate.d.mts +2 -2
  15. package/dist/generate/generate.mjs +8 -8
  16. package/dist/generate/{getClientTemplateFiles.d.mts → get-client-template-files.d.mts} +1 -1
  17. package/dist/generate/{getClientTemplateFiles.mjs → get-client-template-files.mjs} +3 -3
  18. package/dist/generate/{getProjectFullSchema.d.mts → get-project-full-schema.d.mts} +1 -1
  19. package/dist/generate/{getProjectFullSchema.mjs → get-project-full-schema.mjs} +2 -2
  20. package/dist/generate/{getTemplateClientImports.mjs → get-template-client-imports.mjs} +2 -2
  21. package/dist/generate/index.d.mts +1 -1
  22. package/dist/generate/index.mjs +3 -3
  23. package/dist/generate/{writeOneClientFile.d.mts → write-one-client-file.d.mts} +3 -3
  24. package/dist/generate/{writeOneClientFile.mjs → write-one-client-file.mjs} +6 -5
  25. package/dist/{getProjectInfo/getConfig/getRelativeSrcRoot.mjs → get-project-info/get-config/get-relative-src-root.mjs} +1 -1
  26. package/dist/{getProjectInfo/getConfig/getTemplateDefs.mjs → get-project-info/get-config/get-template-defs.mjs} +17 -17
  27. package/dist/{getProjectInfo/getConfig/getUserConfig.mjs → get-project-info/get-config/get-user-config.mjs} +1 -1
  28. package/dist/{getProjectInfo/getConfig → get-project-info/get-config}/index.d.mts +1 -1
  29. package/dist/{getProjectInfo/getConfig → get-project-info/get-config}/index.mjs +6 -6
  30. package/dist/{getProjectInfo → get-project-info}/index.mjs +2 -2
  31. package/dist/index.mjs +3 -3
  32. package/dist/init/{createConfig.d.mts → create-config.d.mts} +1 -1
  33. package/dist/init/{createConfig.mjs → create-config.mjs} +2 -2
  34. package/dist/init/index.d.mts +1 -1
  35. package/dist/init/index.mjs +11 -11
  36. package/dist/init/{installDependencies.d.mts → install-dependencies.d.mts} +1 -1
  37. package/dist/init/{installDependencies.mjs → install-dependencies.mjs} +1 -1
  38. package/dist/init/{logUpdateDependenciesError.d.mts → log-update-dependencies-error.d.mts} +2 -2
  39. package/dist/init/{logUpdateDependenciesError.mjs → log-update-dependencies-error.mjs} +1 -1
  40. package/dist/init/{updateDependenciesWithoutInstalling.d.mts → update-dependencies-without-installing.d.mts} +1 -1
  41. package/dist/init/{updateDependenciesWithoutInstalling.mjs → update-dependencies-without-installing.mjs} +1 -1
  42. package/dist/init/{updateTypeScriptConfig.d.mts → update-typescript-config.d.mts} +0 -1
  43. package/dist/new/index.d.mts +1 -1
  44. package/dist/new/index.mjs +2 -2
  45. package/dist/new/{newModule.d.mts → new-module.d.mts} +1 -1
  46. package/dist/new/{newModule.mjs → new-module.mjs} +17 -6
  47. package/dist/new/{newSegment.d.mts → new-segment.d.mts} +1 -1
  48. package/dist/new/{newSegment.mjs → new-segment.mjs} +3 -3
  49. package/dist/new/render.mjs +2 -2
  50. package/dist/utils/{compileJSONSchemaToTypeScriptType.mjs → compile-json-schema-to-typescript-type.mjs} +1 -1
  51. package/dist/utils/{formatLoggedSegmentName.mjs → format-logged-segment-name.mjs} +1 -1
  52. package/dist/utils/{getPackageJson.d.mts → get-package-json.d.mts} +1 -1
  53. package/dist/utils/{getPackageJson.mjs → get-package-json.mjs} +1 -1
  54. package/dist/utils/{locateSegments.d.mts → locate-segments.d.mts} +1 -1
  55. package/dist/utils/{locateSegments.mjs → locate-segments.mjs} +1 -1
  56. package/dist/utils/{normalizeOpenAPIMixin.d.mts → normalize-openapi-mixin.d.mts} +1 -1
  57. package/dist/utils/{normalizeOpenAPIMixin.mjs → normalize-openapi-mixin.mjs} +2 -2
  58. package/dist/utils/{removeUnlistedDirectories.mjs → remove-unlisted-directories.mjs} +1 -1
  59. package/dist/utils/{resolveAbsoluteModulePath.mjs → resolve-absolute-module-path.mjs} +1 -1
  60. package/module-templates/arktype/controller.ts.ejs +2 -2
  61. package/module-templates/type/controller.ts.ejs +2 -2
  62. package/module-templates/type/service.ts.ejs +2 -2
  63. package/module-templates/valibot/controller.ts.ejs +2 -2
  64. package/module-templates/zod/controller.ts.ejs +2 -2
  65. package/package.json +12 -12
  66. package/dist/dev/logDiffResult.d.mts +0 -3
  67. package/dist/generate/ensureClient.d.mts +0 -3
  68. /package/client-templates/{jsBase → js-base}/index.d.ts.ejs +0 -0
  69. /package/client-templates/{jsBase → js-base}/index.js.ejs +0 -0
  70. /package/client-templates/{openapiJs → openapi-js}/openapi.d.ts.ejs +0 -0
  71. /package/client-templates/{openapiJs → openapi-js}/openapi.js.ejs +0 -0
  72. /package/client-templates/{openapiJson → openapi-json}/openapi.json.ejs +0 -0
  73. /package/client-templates/{openapiTs → openapi-ts}/openapi.ts.ejs +0 -0
  74. /package/client-templates/{packageJson → package-json}/package.json.ejs +0 -0
  75. /package/client-templates/{schemaJs → schema-js}/schema.d.ts.ejs +0 -0
  76. /package/client-templates/{schemaJs → schema-js}/schema.js.ejs +0 -0
  77. /package/client-templates/{schemaJson → schema-json}/schema.json.ejs +0 -0
  78. /package/client-templates/{schemaTs → schema-ts}/schema.ts.ejs +0 -0
  79. /package/client-templates/{tsBase → ts-base}/index.ts.ejs +0 -0
  80. /package/dist/dev/{diffSegmentSchema.d.mts → diff-segment-schema.d.mts} +0 -0
  81. /package/dist/dev/{diffSegmentSchema.mjs → diff-segment-schema.mjs} +0 -0
  82. /package/dist/generate/{getTemplateClientImports.d.mts → get-template-client-imports.d.mts} +0 -0
  83. /package/dist/{getProjectInfo/getConfig/getConfigAbsolutePaths.d.mts → get-project-info/get-config/get-config-absolute-paths.d.mts} +0 -0
  84. /package/dist/{getProjectInfo/getConfig/getConfigAbsolutePaths.mjs → get-project-info/get-config/get-config-absolute-paths.mjs} +0 -0
  85. /package/dist/{getProjectInfo/getConfig/getRelativeSrcRoot.d.mts → get-project-info/get-config/get-relative-src-root.d.mts} +0 -0
  86. /package/dist/{getProjectInfo/getConfig/getTemplateDefs.d.mts → get-project-info/get-config/get-template-defs.d.mts} +0 -0
  87. /package/dist/{getProjectInfo/getConfig/getUserConfig.d.mts → get-project-info/get-config/get-user-config.d.mts} +0 -0
  88. /package/dist/{getProjectInfo/getMetaSchema.d.mts → get-project-info/get-meta-schema.d.mts} +0 -0
  89. /package/dist/{getProjectInfo/getMetaSchema.mjs → get-project-info/get-meta-schema.mjs} +0 -0
  90. /package/dist/{getProjectInfo → get-project-info}/index.d.mts +0 -0
  91. /package/dist/init/{checkTSConfigForExperimentalDecorators.d.mts → check-tsconfig-for-experimental-decorators.d.mts} +0 -0
  92. /package/dist/init/{checkTSConfigForExperimentalDecorators.mjs → check-tsconfig-for-experimental-decorators.mjs} +0 -0
  93. /package/dist/init/{updateNPMScripts.d.mts → update-npm-scripts.d.mts} +0 -0
  94. /package/dist/init/{updateNPMScripts.mjs → update-npm-scripts.mjs} +0 -0
  95. /package/dist/init/{updateTypeScriptConfig.mjs → update-typescript-config.mjs} +0 -0
  96. /package/dist/new/{addClassToSegmentCode.d.mts → add-class-to-segment-code.d.mts} +0 -0
  97. /package/dist/new/{addClassToSegmentCode.mjs → add-class-to-segment-code.mjs} +0 -0
  98. /package/dist/new/{addCommonTerms.d.mts → add-common-terms.d.mts} +0 -0
  99. /package/dist/new/{addCommonTerms.mjs → add-common-terms.mjs} +0 -0
  100. /package/dist/utils/{chalkHighlightThing.d.mts → chalk-highlight-thing.d.mts} +0 -0
  101. /package/dist/utils/{chalkHighlightThing.mjs → chalk-highlight-thing.mjs} +0 -0
  102. /package/dist/utils/{compileJSONSchemaToTypeScriptType.d.mts → compile-json-schema-to-typescript-type.d.mts} +0 -0
  103. /package/dist/utils/{compileTs.d.mts → compile-ts.d.mts} +0 -0
  104. /package/dist/utils/{compileTs.mjs → compile-ts.mjs} +0 -0
  105. /package/dist/utils/{debounceWithArgs.d.mts → debounce-with-args.d.mts} +0 -0
  106. /package/dist/utils/{debounceWithArgs.mjs → debounce-with-args.mjs} +0 -0
  107. /package/dist/utils/{formatLoggedSegmentName.d.mts → format-logged-segment-name.d.mts} +0 -0
  108. /package/dist/utils/{generateFnName.d.mts → generate-fn-name.d.mts} +0 -0
  109. /package/dist/utils/{generateFnName.mjs → generate-fn-name.mjs} +0 -0
  110. /package/dist/utils/{getAvailablePort.d.mts → get-available-port.d.mts} +0 -0
  111. /package/dist/utils/{getAvailablePort.mjs → get-available-port.mjs} +0 -0
  112. /package/dist/utils/{getFileSystemEntryType.d.mts → get-file-system-entry-type.d.mts} +0 -0
  113. /package/dist/utils/{getFileSystemEntryType.mjs → get-file-system-entry-type.mjs} +0 -0
  114. /package/dist/utils/{getLogger.d.mts → get-logger.d.mts} +0 -0
  115. /package/dist/utils/{getLogger.mjs → get-logger.mjs} +0 -0
  116. /package/dist/utils/{getNPMPackageMetadata.d.mts → get-npm-package-metadata.d.mts} +0 -0
  117. /package/dist/utils/{getNPMPackageMetadata.mjs → get-npm-package-metadata.mjs} +0 -0
  118. /package/dist/utils/{getPublicModuleNameFromPath.d.mts → get-public-module-name-from-path.d.mts} +0 -0
  119. /package/dist/utils/{getPublicModuleNameFromPath.mjs → get-public-module-name-from-path.mjs} +0 -0
  120. /package/dist/utils/{pickSegmentFullSchema.d.mts → pick-segment-full-schema.d.mts} +0 -0
  121. /package/dist/utils/{pickSegmentFullSchema.mjs → pick-segment-full-schema.mjs} +0 -0
  122. /package/dist/utils/{removeUnlistedDirectories.d.mts → remove-unlisted-directories.d.mts} +0 -0
  123. /package/dist/utils/{resolveAbsoluteModulePath.d.mts → resolve-absolute-module-path.d.mts} +0 -0
  124. /package/dist/utils/{updateConfigProperty.d.mts → update-config-property.d.mts} +0 -0
  125. /package/dist/utils/{updateConfigProperty.mjs → update-config-property.mjs} +0 -0
@@ -1,3 +1,3 @@
1
1
  import type { NewOptions } from '../types.mjs';
2
- import type { ProjectInfo } from '../getProjectInfo/index.mts';
2
+ import type { ProjectInfo } from '../get-project-info/index.mts';
3
3
  export declare function newComponents(components: string[], projectInfo: ProjectInfo, { dryRun, outDir, templates, overwrite, noSegmentUpdate, empty, static: isStaticSegment }: NewOptions): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { newModule } from './newModule.mjs';
2
- import { newSegment } from './newSegment.mjs';
1
+ import { newModule } from './new-module.mjs';
2
+ import { newSegment } from './new-segment.mjs';
3
3
  export async function newComponents(components, projectInfo, { dryRun, outDir, templates, overwrite, noSegmentUpdate, empty, static: isStaticSegment }) {
4
4
  if (components[0] === 'segment' || components[0] === 'segments') {
5
5
  // vovk new segment [segmentName]
@@ -1,4 +1,4 @@
1
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
1
+ import type { ProjectInfo } from '../get-project-info/index.mjs';
2
2
  export declare function newModule({ projectInfo, what, moduleNameWithOptionalSegment, dryRun, outDir: outDirFlag, templates: templatesFlag, noSegmentUpdate, overwrite, empty, }: {
3
3
  projectInfo: ProjectInfo;
4
4
  what: string[];
@@ -1,15 +1,16 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs/promises';
3
3
  import chalk from 'chalk';
4
+ import _ from 'lodash';
4
5
  import { getTsconfig } from 'get-tsconfig';
5
6
  import { render } from './render.mjs';
6
- import { addClassToSegmentCode } from './addClassToSegmentCode.mjs';
7
- import { chalkHighlightThing } from '../utils/chalkHighlightThing.mjs';
8
- import { formatLoggedSegmentName } from '../utils/formatLoggedSegmentName.mjs';
9
- import { getFileSystemEntryType } from '../utils/getFileSystemEntryType.mjs';
7
+ import { addClassToSegmentCode } from './add-class-to-segment-code.mjs';
8
+ import { chalkHighlightThing } from '../utils/chalk-highlight-thing.mjs';
9
+ import { formatLoggedSegmentName } from '../utils/format-logged-segment-name.mjs';
10
+ import { getFileSystemEntryType } from '../utils/get-file-system-entry-type.mjs';
10
11
  import { prettify } from '../utils/prettify.mjs';
11
- import { resolveAbsoluteModulePath } from '../utils/resolveAbsoluteModulePath.mjs';
12
- import { locateSegments } from '../utils/locateSegments.mjs';
12
+ import { resolveAbsoluteModulePath } from '../utils/resolve-absolute-module-path.mjs';
13
+ import { locateSegments } from '../utils/locate-segments.mjs';
13
14
  function splitByLast(str, delimiter = '/') {
14
15
  const index = str.lastIndexOf(delimiter);
15
16
  if (index === -1) {
@@ -81,6 +82,16 @@ export async function newModule({ projectInfo, what, moduleNameWithOptionalSegme
81
82
  }
82
83
  const absoluteModuleDir = path.join(cwd, outDir);
83
84
  const absoluteModulePath = path.join(absoluteModuleDir, fileName);
85
+ // Pre-kebab-case projects keep modules at e.g. userProfile/UserProfileController.ts; scaffolding
86
+ // user-profile/user-profile-controller.ts next to it would register a duplicate class in the segment.
87
+ const legacySuffix = type === 'controller' ? 'Controller' : type === 'service' ? 'Service' : null;
88
+ if (!outDirFlag && legacySuffix && path.basename(absoluteModuleDir) === _.kebabCase(moduleName)) {
89
+ const legacyModulePath = path.join(path.dirname(absoluteModuleDir), _.camelCase(moduleName), `${_.upperFirst(_.camelCase(moduleName))}${legacySuffix}.ts`);
90
+ if (await getFileSystemEntryType(legacyModulePath)) {
91
+ log.error(`Found ${chalkHighlightThing(legacyModulePath)} created with the pre-kebab-case naming convention. Rename it to ${chalkHighlightThing(absoluteModulePath)} manually or pass --out-dir to scaffold elsewhere.`);
92
+ return process.exit(1);
93
+ }
94
+ }
84
95
  const prettiedCode = await prettify(code, absoluteModulePath);
85
96
  if (!dryRun) {
86
97
  if (!overwrite && (await getFileSystemEntryType(absoluteModulePath))) {
@@ -1,4 +1,4 @@
1
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
1
+ import type { ProjectInfo } from '../get-project-info/index.mjs';
2
2
  export declare function newSegment({ projectInfo, segmentName, isStaticSegment, overwrite, dryRun, }: {
3
3
  projectInfo: ProjectInfo;
4
4
  segmentName: string;
@@ -1,8 +1,8 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs/promises';
3
- import { getFileSystemEntryType } from '../utils/getFileSystemEntryType.mjs';
4
- import { chalkHighlightThing } from '../utils/chalkHighlightThing.mjs';
5
- import { formatLoggedSegmentName } from '../utils/formatLoggedSegmentName.mjs';
3
+ import { getFileSystemEntryType } from '../utils/get-file-system-entry-type.mjs';
4
+ import { chalkHighlightThing } from '../utils/chalk-highlight-thing.mjs';
5
+ import { formatLoggedSegmentName } from '../utils/format-logged-segment-name.mjs';
6
6
  import { prettify } from '../utils/prettify.mjs';
7
7
  import chalk from 'chalk';
8
8
  export async function newSegment({ projectInfo, segmentName, isStaticSegment, overwrite, dryRun, }) {
@@ -2,11 +2,11 @@ import ejs from 'ejs';
2
2
  import matter from 'gray-matter';
3
3
  import _ from 'lodash';
4
4
  import pluralize from 'pluralize';
5
- import { addCommonTerms } from './addCommonTerms.mjs';
5
+ import { addCommonTerms } from './add-common-terms.mjs';
6
6
  import path from 'node:path';
7
7
  addCommonTerms();
8
8
  export async function render(codeTemplate, { cwd, config, withService, segmentName, moduleName, empty, templateFileName, isNodeNextResolution, srcRoot, }) {
9
- const defaultOutDir = [config.modulesDir, segmentName || config.rootSegmentModulesDirName, _.camelCase(moduleName)]
9
+ const defaultOutDir = [config.modulesDir, segmentName || config.rootSegmentModulesDirName, _.kebabCase(moduleName)]
10
10
  .filter(Boolean)
11
11
  .join('/');
12
12
  const relativePathToSourceRoot = path.relative(path.resolve(cwd, defaultOutDir), path.join(cwd, srcRoot ?? '.')) || '.';
@@ -1,4 +1,4 @@
1
- import { compileTs } from './compileTs.mjs';
1
+ import { compileTs } from './compile-ts.mjs';
2
2
  export function compileJSONSchemaToTypeScriptType(schema, typeName, components = {}, options = {}) {
3
3
  if (!schema)
4
4
  return '';
@@ -1,5 +1,5 @@
1
1
  import upperFirstLodash from 'lodash/upperFirst.js';
2
- import { chalkHighlightThing } from './chalkHighlightThing.mjs';
2
+ import { chalkHighlightThing } from './chalk-highlight-thing.mjs';
3
3
  export function formatLoggedSegmentName(segmentName, { withChalk = true, upperFirst = false, isStatic = false, segmentType = 'segment', // TODO: Apply to all formatLoggedSegmentName invocations
4
4
  } = {}) {
5
5
  let text = segmentName ? `${isStatic ? 'static ' : ''}${segmentType} "${segmentName}"` : 'the root segment';
@@ -1,3 +1,3 @@
1
1
  import type { PackageJson } from 'type-fest';
2
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
2
+ import type { ProjectInfo } from '../get-project-info/index.mjs';
3
3
  export declare function getPackageJson(cwd: string, log: ProjectInfo['log']): Promise<PackageJson>;
@@ -1,6 +1,6 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { chalkHighlightThing } from './chalkHighlightThing.mjs';
3
+ import { chalkHighlightThing } from './chalk-highlight-thing.mjs';
4
4
  let cachedPromise;
5
5
  export function getPackageJson(cwd, log) {
6
6
  const pkgPath = path.join(cwd, 'package.json');
@@ -1,5 +1,5 @@
1
1
  import type { VovkStrictConfig } from 'vovk/internal';
2
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
2
+ import type { ProjectInfo } from '../get-project-info/index.mjs';
3
3
  export type Segment = {
4
4
  routeFilePath: string;
5
5
  segmentName: string;
@@ -1,6 +1,6 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { getFileSystemEntryType } from './getFileSystemEntryType.mjs';
3
+ import { getFileSystemEntryType } from './get-file-system-entry-type.mjs';
4
4
  export async function locateSegments({ dir, rootDir, config, log, }) {
5
5
  let results = [];
6
6
  if (!dir)
@@ -1,7 +1,7 @@
1
1
  import type { HttpMethod, VovkConfig } from 'vovk';
2
2
  import type { VovkOperationObject, VovkStrictConfig } from 'vovk/internal';
3
3
  import type { OpenAPIObject } from 'openapi3-ts/oas31';
4
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
4
+ import type { ProjectInfo } from '../get-project-info/index.mjs';
5
5
  export type GetOpenAPINameFn = (config: {
6
6
  operationObject: VovkOperationObject;
7
7
  method: HttpMethod;
@@ -1,9 +1,9 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import * as YAML from 'yaml';
4
- import { chalkHighlightThing } from './chalkHighlightThing.mjs';
4
+ import { chalkHighlightThing } from './chalk-highlight-thing.mjs';
5
5
  import camelCase from 'lodash/camelCase.js';
6
- import { generateFnName } from './generateFnName.mjs';
6
+ import { generateFnName } from './generate-fn-name.mjs';
7
7
  const normalizeGetModuleName = (getModuleName) => {
8
8
  if (typeof getModuleName === 'string') {
9
9
  const moduleName = getModuleName;
@@ -1,6 +1,6 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { getFileSystemEntryType, FileSystemEntryType } from './getFileSystemEntryType.mjs';
3
+ import { getFileSystemEntryType, FileSystemEntryType } from './get-file-system-entry-type.mjs';
4
4
  /**
5
5
  * Removes all directories in a folder that aren't in the provided allowlist
6
6
  * Supports nested directory paths like 'foo/bar/baz'
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { createRequire } from 'node:module';
3
- import { getPublicModuleNameFromPath } from './getPublicModuleNameFromPath.mjs';
3
+ import { getPublicModuleNameFromPath } from './get-public-module-name-from-path.mjs';
4
4
  // Returns the path up to and including the last occurrence of the given module name
5
5
  export function getPathUpToModule(moduleName, fullPath) {
6
6
  const idx = fullPath.lastIndexOf(moduleName);
@@ -4,7 +4,7 @@
4
4
  }; %>
5
5
  ---
6
6
  outDir: <%= t.defaultOutDir %>
7
- fileName: <%= vars.ModuleName + '.ts' %>
7
+ fileName: <%= t['the-thing'] + '-controller.ts' %>
8
8
  sourceName: <%= vars.ModuleName %>
9
9
  compiledName: <%= t.TheThing + 'RPC' %>
10
10
  ---
@@ -12,7 +12,7 @@ compiledName: <%= t.TheThing + 'RPC' %>
12
12
  import { procedure, prefix, get, put, post, del, operation } from 'vovk';
13
13
  import { type } from 'arktype';
14
14
  <% if(t.withService) { %>
15
- import <%= vars.ServiceName %> from './<%= vars.ServiceName %><%= t.nodeNextResolutionExt.ts %>';
15
+ import <%= vars.ServiceName %> from './<%= t['the-thing'] %>-service<%= t.nodeNextResolutionExt.ts %>';
16
16
  <% } %>
17
17
 
18
18
  @prefix('<%= t['the-things'] %>')
@@ -4,14 +4,14 @@
4
4
  }; %>
5
5
  ---
6
6
  outDir: <%= t.defaultOutDir %>
7
- fileName: <%= vars.ControllerName + '.ts' %>
7
+ fileName: <%= t['the-thing'] + '-controller.ts' %>
8
8
  sourceName: <%= vars.ControllerName %>
9
9
  compiledName: <%= t.TheThing + 'RPC' %>
10
10
  ---
11
11
 
12
12
  import { prefix, get, put, post, del, operation, type VovkRequest } from 'vovk';
13
13
  <% if(t.withService) { %>
14
- import <%= vars.ServiceName %> from './<%= vars.ServiceName %><%= t.nodeNextResolutionExt.ts %>';
14
+ import <%= vars.ServiceName %> from './<%= t['the-thing'] %>-service<%= t.nodeNextResolutionExt.ts %>';
15
15
  <% } %>
16
16
 
17
17
  @prefix('<%= t['the-things'] %>')
@@ -4,12 +4,12 @@
4
4
  }; %>
5
5
  ---
6
6
  outDir: <%= t.defaultOutDir %>
7
- fileName: <%= vars.ServiceName + '.ts' %>
7
+ fileName: <%= t['the-thing'] + '-service.ts' %>
8
8
  sourceName: <%= vars.ServiceName %>
9
9
  ---
10
10
 
11
11
  import type { VovkBody, VovkParams } from 'vovk';
12
- import type <%= vars.ControllerName %> from './<%= vars.ControllerName %><%= t.nodeNextResolutionExt.ts %>';
12
+ import type <%= vars.ControllerName %> from './<%= t['the-thing'] %>-controller<%= t.nodeNextResolutionExt.ts %>';
13
13
 
14
14
  export default class <%= vars.ServiceName %> {
15
15
  static get<%= t.TheThings %> = () => {
@@ -4,7 +4,7 @@
4
4
  }; %>
5
5
  ---
6
6
  outDir: <%= t.defaultOutDir %>
7
- fileName: <%= vars.ModuleName + '.ts' %>
7
+ fileName: <%= t['the-thing'] + '-controller.ts' %>
8
8
  sourceName: <%= vars.ModuleName %>
9
9
  compiledName: <%= t.TheThing + 'RPC' %>
10
10
  ---
@@ -13,7 +13,7 @@ import { procedure, prefix, get, put, post, del, operation } from 'vovk';
13
13
  import * as v from 'valibot';
14
14
  import { toStandardJsonSchema } from '@valibot/to-json-schema';
15
15
  <% if(t.withService) { %>
16
- import <%= vars.ServiceName %> from './<%= vars.ServiceName %><%= t.nodeNextResolutionExt.ts %>';
16
+ import <%= vars.ServiceName %> from './<%= t['the-thing'] %>-service<%= t.nodeNextResolutionExt.ts %>';
17
17
  <% } %>
18
18
 
19
19
  @prefix('<%= t['the-things'] %>')
@@ -4,7 +4,7 @@
4
4
  }; %>
5
5
  ---
6
6
  outDir: <%= t.defaultOutDir %>
7
- fileName: <%= vars.ModuleName + '.ts' %>
7
+ fileName: <%= t['the-thing'] + '-controller.ts' %>
8
8
  sourceName: <%= vars.ModuleName %>
9
9
  compiledName: <%= t.TheThing + 'RPC' %>
10
10
  ---
@@ -12,7 +12,7 @@ compiledName: <%= t.TheThing + 'RPC' %>
12
12
  import { procedure, prefix, get, put, post, del, operation } from 'vovk';
13
13
  import { z } from 'zod';
14
14
  <% if(t.withService) { %>
15
- import <%= vars.ServiceName %> from './<%= vars.ServiceName %><%= t.nodeNextResolutionExt.ts %>';
15
+ import <%= vars.ServiceName %> from './<%= t['the-thing'] %>-service<%= t.nodeNextResolutionExt.ts %>';
16
16
  <% } %>
17
17
 
18
18
  @prefix('<%= t['the-things'] %>')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vovk-cli",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "CLI tool for managing Vovk.ts projects",
5
5
  "files": [
6
6
  "dist",
@@ -45,11 +45,11 @@
45
45
  "vovk": ">=3.0.0"
46
46
  },
47
47
  "optionalDependencies": {
48
- "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.7"
48
+ "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.13"
49
49
  },
50
50
  "dependencies": {
51
51
  "@iarna/toml": "^2.2.5",
52
- "@inquirer/prompts": "^8.3.0",
52
+ "@inquirer/prompts": "^8.3.2",
53
53
  "@npmcli/package-json": "^7.0.5",
54
54
  "@types/json-schema": "^7.0.15",
55
55
  "@types/lodash": "^4.17.24",
@@ -58,22 +58,22 @@
58
58
  "clone-deep": "^4.0.1",
59
59
  "commander": "^13.1.0",
60
60
  "concurrently": "^9.2.1",
61
- "dotenv": "^17.3.1",
62
- "ejs": "^4.0.1",
63
- "get-tsconfig": "^4.13.6",
61
+ "dotenv": "^17.4.1",
62
+ "ejs": "^5.0.1",
63
+ "get-tsconfig": "^4.13.7",
64
64
  "glob": "^13.0.6",
65
65
  "gray-matter": "^4.0.3",
66
66
  "inflection": "^3.0.2",
67
67
  "jsonc-parser": "^3.3.1",
68
- "lodash": "^4.17.23",
68
+ "lodash": "^4.18.1",
69
69
  "loglevel": "^1.9.2",
70
70
  "pluralize": "^8.0.0",
71
71
  "prettier": "^3.8.1",
72
72
  "tar-stream": "^3.1.8",
73
73
  "ts-morph": "^27.0.2",
74
- "type-fest": "^5.4.4",
75
- "undici": "^7.22.0",
76
- "yaml": "^2.8.2"
74
+ "type-fest": "^5.5.0",
75
+ "undici": "^8.0.2",
76
+ "yaml": "^2.8.3"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@types/concat-stream": "^2.0.3",
@@ -83,11 +83,11 @@
83
83
  "@types/pluralize": "^0.0.33",
84
84
  "@types/tar-stream": "^3.1.4",
85
85
  "concat-stream": "^2.0.0",
86
- "create-next-app": "^16.1.6",
86
+ "create-next-app": "^16.2.2",
87
87
  "http-server": "^14.1.1",
88
88
  "node-pty": "0.10.1",
89
89
  "openapi3-ts": "^4.5.0",
90
- "tsdown": "^0.19.0",
90
+ "tsdown": "^0.21.7",
91
91
  "zod": "^4.3.6"
92
92
  }
93
93
  }
@@ -1,3 +0,0 @@
1
- import type { DiffResult } from './diffSegmentSchema.mjs';
2
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
3
- export declare function logDiffResult(segmentName: string, diffResult: DiffResult, projectInfo: ProjectInfo): void;
@@ -1,3 +0,0 @@
1
- import type { ProjectInfo } from '../getProjectInfo/index.mjs';
2
- import type { Segment } from '../utils/locateSegments.mjs';
3
- export declare function ensureClient(projectInfo: ProjectInfo, locatedSegments: Segment[]): Promise<void>;
File without changes
File without changes